RuboCop предлагает:
Используйте
Array.new
с блоком вместо.times.map.
В документах для полицейского:
Этот полицейский проверяет вызовы .times.map. В большинстве случаев такие вызовы могут быть заменены явным созданием массива.
Примеры:
# bad
9.times.map do |i|
i.to_s
end
# good
Array.new(9) do |i|
i.to_s
end
Я знаю, что его можно заменить, но я чувствую, что 9.times.map
ближе к грамматике английского языка, и легче понять, что делает код.
Почему это должно быть заменено?