Je vois souvent ce code dans les critiques.
hoge_array = []
fuga_array.each do |val|
hohe_array << something(val)
end
Il est généralement bien connu qu'il s'agit d'un code lent, et on sait qu'il est environ 1,6 fois plus lent. (Source ici) Au fait, peu de gens expliquent pourquoi c'est lent. Honnêtement
hoge_array = fuga_array.map do |val|
something(val)
end
C'est plus facile à lire, et c'est bien, mais cette fois, je vais passer en revue la raison de l'utilisation active de la carte.
--Différence entre ʻArray # map et ʻArray # each
+ ʻArray # push(ou ʻArray # <<
)
Array#<<