คำตอบ:
ใช่และยังเรียกfoldในภาษาโปรแกรมอื่น ๆ อีกมากมายและในวิชาคณิตศาสตร์ Ruby มีนามแฝงมากมายเพื่อให้ใช้งานง่ายสำหรับโปรแกรมเมอร์ที่มีภูมิหลังต่างกัน หากคุณต้องการใช้#lengthกับ an Arrayคุณสามารถทำได้ ถ้าอยากใช้#sizeก็ใช้ได้เช่นกัน!
injectเพื่อให้ผู้ใช้ไม่ต้องอ่านทั้งสอง คำอธิบายและลองดูว่าเหมือนกันไหม ... นี่ไม่เข้ากับหลักการ DRY หรือ?
เวอร์ชันล่าสุดของเอกสารEnumerable#reduceระบุอย่างชัดเจน:
injectและreduceวิธีการที่มีชื่อแทน ไม่มีประโยชน์ด้านประสิทธิภาพอย่างใดอย่างหนึ่ง
&:+) ลดถ้ามันเป็นบล็อกฉีด