From: eklerni Date: 2007-08-20T22:55:54+09:00 Subject: [ruby-dev:31535] Re: 多重代入の*とto_ary From:eklerni >  ささだです。 > > >  to_splat が呼ばれるようになりました。 > > class Foo > def to_ary > [1,2,3] > end > def to_splat > [4,5,6] > end > end > > a,b = *Foo.new > p [a,b] #=> [4, 5] > a,b = Foo.new > p [a,b] #=> [1, 2] > ありがとうございます。 to_splat ですね。やろうと思っていたことができそう です。 ------ class Foo def to_ary [1,2,3] end def to_splat [4,5,6] end def to_a [7,8,9] end end a,b = *Foo.new a,b = Foo.new ruby 1.9.0 (2007-08-18 patchlevel 0) [i386-mswin32_80] [4, 5] [1, 2] ruby 1.8.6 (2007-07-28 patchlevel 5000) [i386-mswin32_80] [1, 2] [1, 2]