From: eklerni Date: 2007-08-20T22:08:50+09:00 Subject: [ruby-dev:31531] 多重代入の*とto_ary From:eklerni 1.9の多重代入で右辺値に*をつけて配列変換したとき、内部的にto_aryが呼ばれ なくなっているようですが、 これは正しい挙動ですか? class Foo def to_ary [1,2,3] end end a,b = *Foo.new p [a,b] a,b = Foo.new p [a,b] ruby 1.9.0 (2007-08-18 patchlevel 0) [i386-mswin32_80] [#, nil] [1, 2] ruby 1.8.6 (2007-07-28 patchlevel 5000) [i386-mswin32_80] [1, 2] [1, 2] あとここらへん(1.9の多重代入)の仕様がよくわかっていないのですが、どこ か参考になるサイト(やアーカイブ)が あれば教えていただければ幸いです。 ------ class Foo def to_a [1,2,3] end end a,b = *Foo.new p [a,b] a,b = Foo.new p [a,b] ruby 1.9.0 (2007-08-18 patchlevel 0) [i386-mswin32_80] [#, nil] [#, nil] ruby 1.8.6 (2007-07-28 patchlevel 5000) [i386-mswin32_80] [1, 2] [#, nil]