Не могут ли все или большинство случаев `each` быть заменены на` map`?
Разница междуEnumerable#each
а такжеEnumerable#map
является ли он возвращает получателя или сопоставленный результат. Возвращение к получателю тривиально, и вам обычно не нужно продолжать цепочку методов послеeach
лайкeach{...}.another_method
(Я, вероятно, не видел такого случая. Даже если вы хотите вернуться к приемнику, вы можете сделать это сtap
). Так что я думаю, что все или большинство случаев, когдаEnumerable#each
используется может быть замененEnumerable#map
, Я ошибся? Если я прав, какова цельeach
? Являетсяmap
медленнее чемeach
?
Edit:
I know that there is a common practice to use each
когда вы не заинтересованы в возвращаемом значении. Меня не интересует, существует ли такая практика, но меня интересует, имеет ли такая практика смысл, кроме как с точки зрения конвенции.