キーワード
- Marshal フォーマット (12)
-
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 3
. 1 . 0 (4) -
ruby 1
. 6 feature (12) -
ruby 1
. 9 feature (12) - クラス/メソッドの定義 (12)
検索結果
-
ruby 1
. 6 feature (408.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...りました。
p "#{ "" }"
=> ruby 1.6.7 (2002-03-01) [i586-linux]
""
=> -:1: warning: bad substitution in string
ruby 1.6.7 (2002-09-12) [i586-linux]
"#{ }"
=> ruby 1.6.7 (2002-09-25) [i586-linux]
""
これは1.7......変数が定義されていない場合例外 NameError を起こ
すようになりました。((<ruby-bugs-ja:PR#216>))
Object.new.instance_eval {
p remove_instance_variable :@foo
}
=> ruby 1.6.7 (2002-03-01) [i586-linux]
nil
=> -:2:in `remo......inux]
: Subclass of String and Array
String, Array のサブクラスで特定のメソッドを呼ぶと、String, Array
になっていました。
class Foo < String
end
p Foo.new("").class
p Foo.new("foo")[0,0].class # String ???
p Foo.... -
ruby 1
. 9 feature (174.0) -
ruby 1.9 feature ruby version 1.9.0 は開発版です。 以下にあげる機能は将来削除されたり互換性のない仕様変更がなされるかもしれません。 1.9.1 以降は安定版です。 バグ修正がメインになります。
...= 2006-09-12
: Hash#compare_by_identity
: Hash#compare_by_identity?
=== 2006-09-11
: Hash#identical
: Hash#identical?
=== 2006-08-31
: Array#shuffle
: Array#shuffle!
追加
=== 2006-07-26
: __send
: __send!
追加
: invoke_method
: invoke_functional_method
削除
=== 2006-07-21
:......#log にオプショナルな第2引数 base 追加 ((<ruby-talk:191308>)) [compat]
: Array#flatten, Array#flatten! がオプショナルな level 引数を受け取るようになりました [compat]
: String#unpack("M") で CRLF を単独の LF と同様に無視するようになりました......46>))
=== 2006-03-03
: FileUtils.cp_r [lib] [compat]
remove_destination オプションの追加
((<ruby-dev:28417>))
=== 2006-02-15
: instance_eval
((<ruby-core:7365>))
=== 2006-02-03
: Integer#upto [compat]
: Integer#downto [compat]
: Integer#doitems [compat]
ブロックがな... -
Marshal フォーマット (102.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......@bar = 1
end
p Bar.instance_eval { @bar } # => 1
File.open('testfile', 'wb') do |f|
Marshal.dump(Bar, f)
end
# 別プログラム相当にするため remove_const
Object.send :remove_const, :Bar
module Bar
end
p bar = Marshal.load(File.binread('testfile'))
p bar.instance_eval { @bar }
# => nil... -
NEWS for Ruby 2
. 1 . 0 (66.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...よるメソッド定義式は nil の代わりにメソッド名をシンボルで返します
=== 組み込みクラスの更新
* Array
* 追加: Array#to_h キーと値のペアの配列をハッシュに変換します。
* Binding
* 追加: Binding#local_variable_get
* 追......k_getres
* String
* "literal".freeze は同じオブジェクトを返すように最適化されました。
* 追加: String#scrub, String#scrub! 不正なバイト列を検証して修正します。
古いバージョンのRubyと一緒に使いたいときは string-scrub gem......IO.open は外部エンコーディングが ASCII-8BIT のとき内部エンコーディングを無視します。
* Kernel.#eval, Kernel.#instance_eval, Module#module_eval
元の環境のスコープ情報をコピーするようになりました。これは、引数なしの
private,... -
NEWS for Ruby 3
. 1 . 0 (54.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...のコードでは使用しないでください。 17684
== 組み込みクラスの更新(注目すべきもののみ)
* Array
* 新規メソッド
* Array#intersect?が追加されました。 15198
* Class
* 新規メソッド
* Class#subclassesはレシーバを継承......には、ハッシュリテラルを使用する必要があります。 16806
* String
* Unicodeと絵文字のバージョンが13.0.0に更新されました。 17750 18029
* String#unpack と String#unpack1 が任意のバイト数をスキップした後にアンパックを開始す......した。 18290
== 実装の改善
* クラス変数の読み込みにインラインキャッシュが導入されました。 17763
* instance_eval と instance_exec は、必要な時だけシングルトンクラスを割り当てるようになり、余分なオブジェクトの生成を... -
クラス/メソッドの定義 (24.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
...す。
//emlist[][ruby]{
class Foo < Array
def foo
end
end
# 定義を追加(スーパークラス Array を明示的に指定しても同じ)
class Foo
def bar
end
end
# 間違ったスーパークラスを指定するとエラー
class Foo < String
end
# => superclass mismatch for class......に設定されたメソッドは、そのメソッドを持つオブジェクトが
selfであるコンテキスト(メソッド定義式やinstance_eval)でのみ呼び出せます。
//emlist[例: protected の可視性][ruby]{
class Foo
def foo
p caller.last
end
protected :foo
end...