Não é possível substituir todos ou a maioria dos casos de `each` por` map`?
A diferença entreEnumerable#each
eEnumerable#map
é se retorna o receptor ou o resultado mapeado. Voltando para o receptor é trivial e você geralmente não precisa continuar uma cadeia de método depoiseach
gostareach{...}.another_method
(Eu provavelmente não vi esse caso. Mesmo se você quiser voltar para o receptor, você pode fazer isso comtap
). Então eu acho que todos ou a maioria dos casos em queEnumerable#each
é usado pode ser substituído porEnumerable#map
. Estou errado? Se estou certo, qual é o propósito deeach
? Émap
Mais lento queeach
?
Editar: Eu sei que há uma prática comum para usareach
quando você não está interessado no valor de retorno. Não estou interessado em saber se tal prática existe, mas estou interessado em saber se tal prática faz sentido além do ponto de vista da convenção.