Не в удобстве дело
each проходится по коллекции для того, чтобы произвести с каждым элементом какое-то действие. Например, вывести в терминал
map проходится по коллекции, возвращает массив, каждый элемент является результатом преобразования исходного элемента
спасибо! разницу уловил!! b = [1,2].each{ |i| i * 2 } даёт [1,2] а map даёт [2,4]. Но ведь [1, 2].map { |i| puts i} работает также как each. Теперь неясность зачем нужен each вообще, если даже есть map.each_index и в нем работает puts?
При чтении кода удобно когда видишь each или map.
Есть ли еще какая-то причина, зачем нужен each?