Array#each vs. Array#map

hash = { "d" => [11, 22], "f" => [33, 44, 55] }

# case 1
hash.map {|k,vs| vs.map {|v| "#{k}:#{v}"}}.join(",")
=> "d:11,d:22,f:33,f:44,f:55"

# case 2
hash.map {|k,vs| vs.each {|v| "#{k}:#{v}"}}.join(",")
=> "11,22,33,44,55"

единственная разница в том, что в первом случае используется по сравнению с картой , во втором случае используется по сравнению с каждым .

Что здесь произошло?

89
задан Andrew Grimm 12 December 2011 в 21:58
поделиться