Câu trả lời:
Có, và nó cũng được gọi foldtrong nhiều ngôn ngữ lập trình khác và trong Toán học. Ruby có rất nhiều bí danh để trực quan cho các lập trình viên có nền tảng khác nhau. Nếu bạn muốn sử dụng #lengthtrên một Array, bạn có thể. Nếu bạn muốn sử dụng #size, điều đó cũng tốt!
injectvậy để người dùng không phải đọc hai và cố gắng tìm hiểu xem chúng có giống nhau không ... điều này không phù hợp với nguyên tắc DRY?
Các phiên bản mới hơn của tài liệu về Enumerable#reducechỉ định nó một cách rõ ràng:
Các
injectvàreducephương thức là bí danh. Không có lợi ích hiệu suất cho cả hai.
&:+), giảm, nếu đó là một khối, bơm