Разликата между Enumerable#each
и Enumerable#map
е дали връща приемника или картографирания резултат. Връщането към приемника е тривиално и обикновено не е необходимо да продължавате верига от методи след each
като each{...}.another_method
(вероятно не съм виждал такъв случай. Дори ако искате да се върнете към приемника, можете да го направите с tap
). Така че мисля, че всички или повечето случаи, в които се използва Enumerable#each
, могат да бъдат заменени с Enumerable#map
. Греша ли? Ако съм прав, каква е целта на each
? map
по-бавен ли е от each
?
Редактиране: Знам, че има обичайна практика да се използва each
, когато не се интересувате от върнатата стойност. Не ме интересува дали съществува такава практика, но ме интересува дали такава практика има смисъл освен от гледна точка на конвенцията.
each
е основна част от Enumerable, докатоmap
не е, нали? Класът трябва да предоставя методeach
, който дава последователни членове на колекцията. a>. - person mu is too short   schedule 30.09.2012map
по отношение наeach
и след товаeach
по отношение наmap
, това може да ви даде малко представа. - person mu is too short   schedule 30.09.2012