RuboCop gợi ý:Tại sao RuboCop đề xuất thay thế .times.map bằng Array.new?
Sử dụng
Array.new
với một khối thay vì.times.map.
Trong docs cho cảnh sát:
cảnh sát này kiểm tra cho các cuộc gọi .times.map. Trong hầu hết các trường hợp, các cuộc gọi như vậy có thể được thay thế bằng việc tạo mảng rõ ràng.
Ví dụ:
# bad
9.times.map do |i|
i.to_s
end
# good
Array.new(9) do |i|
i.to_s
end
Tôi biết nó có thể được thay thế, nhưng tôi cảm thấy 9.times.map
là gần gũi hơn với ngữ pháp tiếng Anh, và nó dễ dàng hơn để hiểu những gì mã lệnh thực hiện.
Tại sao nó phải được thay thế?
Lưu ý rằng nó nằm trong nhóm "Hiệu suất" (như bạn có thể nhìn thấy từ liên kết của bạn), mà là một chút của một gợi ý. :-) – ruakh
Tất cả cảnh sát hiệu suất được điều chỉnh từ: https://github.com/JuanitoFatas/fast-ruby :-) – Drenmi