From: Sylvain Joyeux Date: 2007-02-28T19:46:59+09:00 Subject: Subtle difference between m { |arg| do_something(arg) } and m(&method(:do_something)) [~/tmp]% cat test.rb a = [[1, 2], [3, 4]] def max(values) values.max end puts a.map { |args| max(args) }.join(", ") puts a.map(&method(:max)) [~/tmp]% ruby test.rb 2, 4 test.rb:9:in `max': wrong number of arguments (2 for 1) (ArgumentError) from test.rb:9:in `to_proc' from test.rb:8:in `map' from test.rb:8 In the 'method' case, the array is splat without asking first. Is it expected behaviour ? Why ? -- Sylvain