キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Marshal フォーマット (11)
-
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 1 . 0 (11) -
NEWS for Ruby 2
. 2 . 0 (10) -
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 2
. 4 . 0 (8) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) -
NEWS for Ruby 3
. 1 . 0 (3) - Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (11)
- Rubyの起動 (11)
- Ruby用語集 (11)
- pack テンプレート文字列 (11)
-
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 2 feature (11) -
ruby 1
. 8 . 3 feature (11) -
ruby 1
. 8 . 4 feature (11) -
ruby 1
. 9 feature (11) - sprintf フォーマット (11)
- このマニュアルのヘルプ (11)
- クラス/メソッドの定義 (11)
- リテラル (11)
- 多言語化 (11)
- 正規表現 (11)
検索結果
-
NEWS for Ruby 2
. 0 . 0 (73.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...* String
* 追加: String#b エンコーディングを ASCII-8BIT に設定したコピーされた文字列を返します
* 返り値変更:
* String#lines Enumerator ではなく Array を返します
* String#chars Enumerator ではなく Array を返します
* String......#codepoints Enumerator ではなく Array を返します
* String#bytes Enumerator ではなく Array を返します
* Struct
* 追加: Struct#to_h インスタンス変数の名前と値をハッシュのキーと値にしたハッシュを生成して返します
* Thread
*......olv
* 追加: Resolv::DNS#timeouts=
* 追加: Resolv::DNS::Config#timeouts=
* rexml
* REXML::Document#write はハッシュ引数をサポートしました
* REXML::Document#write は :encoding オプションをサポートしました。
XMLドキュメントのエンコ... -
NEWS for Ruby 2
. 3 . 0 (67.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...降の変更
=== 言語仕様の変更
* frozen-string-literal プラグマ:
* 実験的な機能として fronzen-string-literal というプラグマが導入されました。
8976
* さらに --enable/--disable=frozen-string-literal というコマンドラインオプション......も導入されました
8976
* コマンドラインオプションに --debug または --debug=frozen-string-literal を付けて実行すると、
freeze された文字列を操作しようとして RuntimeError が発生したときにそのオブジェクトが生成された......名前を提案してくれます。
//emlist{
"Yuki".starts_with?("Y")
# => NoMethodError: undefined method `starts_with?' for "Yuki":String
# Did you mean? start_with?
//}
* インデントされたヒアドキュメント:
* 新しい文字列リテラルとして <<~... -
NEWS for Ruby 2
. 6 . 0 (61.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ンスを返すようになりました。
* Regexp/String
* Unicode のバージョンを 10.0.0 から 11.0.0 に更新しました。 14802
これは書記素クラスタ (/\X/) アルゴリズムの書き換えと String#downcase での
Georgian MTAVRULI の special-casi......"require(feature)" で読み込むファイルを
特定します。 [実験的] 15230
* String
* String#crypt は非推奨になりました。 14915
* 新機能
* String#split はブロックが渡されていたら部分文字列ごとに呼び出すようになりまし......ポート
* string() 関数: 処理命令 (PI) ノードをサポート
* XPath 2.0 で"*:#{ELEMENT_NAME}" 記法をサポート
* いくつかの XPath 実装を修正:
* "//#{ELEMENT_NAME}[#{POSITION}]" の問題
* string() 関数: function(document) がルート要素... -
NEWS for Ruby 2
. 7 . 0 (55.0) -
NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...)
where(sales: ..100)
//}
* 「$;」にnil以外の値を設定すると警告が出るようになりました。 14240
nil以外の時はString#splitで参照した時も警告が出ます。
この警告は「-W:no-deprecated」オプションで止められます。
* 「$,」にn......同じModuleは常に同じStringを返します。
この変更は実験的です。 16150
* NilClass / TrueClass / FalseClass
* 変更されたメソッド
* NilClass#to_s, TrueClass#to_s, FalseClass#to_sが
常にfreezeされたStringを返すようになりまし......を返すようになりました。 15807
* 変更されたメソッド
* Range#===がString引数に対してもRange#cover?を使うようになりました。
(Ruby 2.6ではString以外の全ての型でRange#include?から変更されていました。)
15449
* Ru... -
Marshal フォーマット (49.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
...ss
==== String, Regexp, Array, Hash のサブクラス (インスタンス変数なし)
'C' で始まるデータ構造になります。
//emlist{
| 'C' | クラス名(Symbol)の dump | 親クラスのインスタンスの dump |
//}
//emlist[例 1][ruby]{
class Foo < Array # (or String, Regexp......//}
==== String, Regexp, Array, Hash のサブクラス (インスタンス変数あり)
'I' で始まるデータ構造になります。
d:marshal_format#instance_variableも参照してください。
//emlist[例 2: インスタンス変数あり][ruby]{
class Foo < Array # (or String, Regexp......)
# => ["l", "+", 8, "\x00\x00\x00\x00\x01\x00"]
//}
ruby 1.6.3 では ["l", "+", 8, "\000\000\001\000"] になるバグがありました。
=== String
'"' で始まるデータ構造になります。
//emlist{
| '"' | 長さ(Fixnum形式) | 文字列 |
//}
//emlist[例: ascii-8bit の時 (1.... -
NEWS for Ruby 2
. 2 . 0 (49.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...を書き込みモードで開くようになりました
* String
* 追加: String#unicode_normalize
* 追加: String#unicode_normalize!
* 追加: String#unicode_normalized?
* Symbol
* 改善: String#to_sym, String#intern によって返される多くのシンボルがGC可......影響のある変更
なし
=== C API の更新
* 非推奨のAPIを削除しました 9502
* Check_SafeStr -> SafeStringValue
* rb_check_safe_str -> SafeStringValue
* rb_quad_pack -> rb_integer_pack
* rb_quad_unpack -> rb_integer_unpack
* rb_read_check : access struct FIL......局、処理された文字列はNULL終端されない可能性があるので、
NULL終端されたCの文字列を入手したいときは`StringValueCStr()`を呼ぶ必要があります。
* rb_tracepoint_new() はCからアクセス可能な新しい内部的なイベントをサポー... -
多言語化 (49.0)
-
多言語化 Ruby は US-ASCII はもちろん、US-ASCII 以外の文字エンコーディングもサポートしています。 文字列の内部表現のエンコーディングは固定されておらず、 プログラマは目的に応じて使用するエンコーディングを選ぶことができます。
...できます。
同じプロセスの中で異なるエンコーディングの文字列が同時に存在することができます。
全ての String や Regexp などのオブジェクトは自身のエンコーディング情報を保持しています。
これにより各オブジェクト......ソッドを用います。
String#encode メソッドは文字列のエンコーディングを変換した新しい文字列を生成して返します。
Ruby 1.9 ではこれを用いてエンコーディングを変換するのが標準的なやり方です。
String#force_encoding メソッ......列をエンコーディングの変換なしで結合することができます。
また、通常 Ruby の文字列比較メソッドである String#== は、
2 つの文字列のエンコーディングが異なっていると、バイト列としては一致していても false を返しま... -
NEWS for Ruby 2
. 1 . 0 (43.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...k_getres
* String
* "literal".freeze は同じオブジェクトを返すように最適化されました。
* 追加: String#scrub, String#scrub! 不正なバイト列を検証して修正します。
古いバージョンのRubyと一緒に使いたいときは string-scrub gem......を使います。
* Symbol
* 全てのシンボルは freeze されるようになりました
* pack/unpack (Array/String)
* プラットフォームが対応していれば Q! と q! は long long 型を表します
* toplevel
* main.using はもはや実験的な機能では......s the former behavior.
* String
* 以下のコードでレシーバーのエンコーディングと変換後のエンコーディングが同一でも
不正なバイト列を置き換えるようになりました。
//emlist{
include_invalid_byte_string.encode("UTF-8", invalid: :... -
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (43.0)
-
Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or plus minus ast slash hat sq period comma langl rangl eq tilde dollar at under lbrarbra lbra2rbra2 lbra3rbra3 dq colon ac backslash semicolon
...: /xxx/ !~ yyy
正規表現のメソッド =~ の否定。マッチが失敗したらtrueを返します。
===[a:q] ?
: ?a
d:spec/literal#string。長さ 1 の文字列。
: def xx?
この場合の「?」はメソッド名の一部分です。
慣用的に、真偽値を返すタイプ......算子。整数クラスでは「剰余」を意味するメソッド。Numeric#%メソッドなどを参照。
: "%04b" % 10
Stringクラスの「%」演算子。String#% メソッド。文字列中ではフォーマット指定子としても使われる。
: %r{/etc/httpd/logs$} や %w[foo b....../etc/httpd/logs$} #=> /\/etc\/httpd\/logs$/
p %w[foo bar baz] #=> ["foo", "bar", "baz"]
//}
: %!STRING!
% 記法の一種。d:spec/literal#percent。ダブルクォート文字列で %Q!STRING! と同じ。
//emlist{
p %!nomad! #=> "nomad"
//}
: % ruby -e "puts 'Hello'"
コマンドラ... -
ruby 1
. 8 . 3 feature (43.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
...。
$ ruby-1.8.2 -e 'p File.join(1, 2)'
"1/2"
$ ruby-1.8.3 -e 'p File.join(1, 2)'
-e:1:in `join': can't convert Fixnum into String (TypeError)
from -e:1
=== 2005-09-16
: File.extname [ruby] [compat]
与えられた pathname がピリオドで終る場合、ピ......0
mthd_taint.rb:11:in `foo': calling insecure method: foo (SecurityError)
from mthd_taint.rb:11
=== 2005-09-09
: String#* [ruby] [compat]
: String#[] [ruby] [compat]
空文字にも taint が伝播するようになりました。((<ruby-dev:26900>)) ((<ruby-dev:27121>))......ainted?'
false
$ ruby-1.8.3 -e 'p ("x".taint[1..-1]).tainted?'
true
Range オブジェクトが taint されている場合、"string"[range] も taint されるようになりました。((<ruby-dev:27121>))
$ ruby-1.8.2 -e 'p ("x"[(0..-1).taint]).tainted?'
false... -
正規表現 (41.0)
-
正規表現 * metachar * expansion * char * anychar * string * str * quantifier * capture * grouping * subexp * selector * anchor * cond * option * encoding * comment * free_format_mode * absenceop * list * specialvar * references
...正規表現
* metachar
* expansion
* char
* anychar
* string
* str
* quantifier
* capture
* grouping
* subexp
* selector
* anchor
* cond
* option
* encoding
* comment
* free_format_mode
* absenceop
* list
* specialvar
* references
正規表現(regular ex......以外の
その文字列そのものにマッチするような文字列があります。
前者をメタ文字列(meta string)、後者をリテラル(文字列)(literal string)と呼びます。
//emlist[][ruby]{
/京都|大阪|神戸/
//}
という正規表現においては、「京都」「......く任意の1文字にマッチします。
ただし、オプション m によって改行にもマッチするようになります。
===[a:string] 文字クラス
文字クラス(character class)
とは角括弧 [ と ] で囲まれ、1個以上の文字を列挙したもので、
いずれ...