From: sinara@... Date: 1997-02-13T15:32:26+09:00 Subject: [ruby-list:2123] Re: bug? array in *array 原です。 > それは,引数リストと配列式では(確かに似ているが)いろいろと微 > 妙な違いがあることです.ちょっとあげてみると それで思い出したんですが、イテレータの引数はどうなってるんで しょう。 a = {"1"=>"2", "3"=>"4"} のとき、 a.each { |x,y| print [x,y].join(","), "\n" } a.each { |*x| print x.join(","), "\n" } a.each { |x| print x.join(","), "\n" } は、同じ動作をしますね。3番めがちゃんと動くのが不思議。 それから、yield は *x というパラメータは取らないですね。 def baz(x) yield x end baz([0,1,2]) { |x| print x.join(","), "\n" } において、yield *x あるいは yield(*x) とするとそれぞれ 違うエラーがでます。