Câu trả lời:
Có, và nó cũng được gọi fold
trong 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 #length
trên một Array
, bạn có thể. Nếu bạn muốn sử dụng #size
, điều đó cũng tốt!
inject
vậ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#reduce
chỉ định nó một cách rõ ràng:
Các
inject
vàreduce
phươ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