Можно создать дубликат:
Array#each vs. Array#mapКак различаются array.each и array.map?
ruby-1.9.2-p180 :006 > ary = ["a", "b"]
=> ["a", "b"]
ruby-1.9.2-p180 :007 > ary.map { |val| p val }
"a"
"b"
=> ["a", "b"]
ruby-1.9.2-p180 :008 > ary.each { |val| p val }
"a"
"b"
=> ["a", "b"]
ruby-1.9.2-p180 :009 > ary.map { |val| val << "2" }
=> ["a2", "b2"]
ruby-1.9.2-p180 :010 > ary.each { |val| val << "2" }
=> ["a22", "b22"]
+1 для связи «карта» с функциональным программированием. «каждый», с другой стороны, является обычной императивной петлей с побочными эффектами. – tokland
Так полезно, спасибо. –
Карта не кажется очень «функциональной», потому что изменение объекта, о котором идет речь, изменяет исходный объект. –