まつもと ゆきひろです In message "[ruby-dev:19755] Re: (1.8.0-preview2) Proc#call" on 03/03/07, nobu.nakada / nifty.ne.jp <nobu.nakada / nifty.ne.jp> writes: | f2 = lambda { |r,*l| p r,l } | a1 = [1] | f2.call([], *a1) # A | f2.call([[], *a1]) # B | |[ruby-dev:19752]はブロックの引数が一つのときだけ展開するように |なってるので、AとBのどちらもr=[], l=[1]になりますが。 「r,*l = [], *[1]」、「r,*l = [[], *[1]]」ともにr=[],l=[1]な ので、それが正しいと思います。