From: Takaaki Tateishi Date: 2006-06-04T03:17:58+09:00 Subject: [ruby-dev:28684] Re: ブロックパラメータと多値について Yukihiro Matsumoto wrote: > 迷いがあるのは > Proc.new{|x| x}.call(1,2) # => 1 > にしようと思ってるのだけれども、そうすると これについてもう少し確認させてください。 Procをブロックとは区別して特別扱いしないとして、call([1,2]) とした場合も 1 でしょうか?(あるいは、まだ未定でしょうか?) > [[1,2],[2,3]].each{|x| p x} もし、call([1,2])で1となるなら、これも 1, 2 と表示されるのは 分かるのですが、 逆に、proc{|a,&block| a}.call([0,1,2]) が [0,1,2] になる理屈が分からないです。 どのように考えれば良いでしょうか? あるいは、call([1,2])で[1,2]となるなら、これも[1,2],[2,3]が表示 されて欲しい気がしますが、|x,|の動作と同じと考えると 1, 2 の表示になるということですよね? -- Takaaki Tateishi