¿No se pueden reemplazar todos o la mayoría de los casos de `each` con` map`?
La diferencia entreEnumerable#each
yEnumerable#map
es si devuelve el receptor o el resultado mapeado. Volver al receptor es trivial y, por lo general, no es necesario continuar una cadena de métodos después deeach
me gustaeach{...}.another_method
(Probablemente no haya visto ese caso. Incluso si desea volver al receptor, puede hacerlo contap
). Así que creo que todos o la mayoría de los casos dondeEnumerable#each
es usado puede ser reemplazado porEnumerable#map
. ¿Me equivoco? Si tengo razón, ¿cuál es el propósito deeach
? Esmap
más lento queeach
?
Editar: Sé que hay una práctica común de usareach
Cuando no estás interesado en el valor de retorno. No me interesa saber si existe tal práctica, pero sí me interesa saber si esa práctica tiene más sentido que no sea desde el punto de vista de la convención.