Відповіді:
Так, його також називають foldу багатьох інших мовах програмування та з математики. Багато псуйте псевдоніми, щоб бути інтуїтивно зрозумілим для програмістів з різним походженням. Якщо ви хочете використовувати #lengthна Array, ви можете. Якщо ви хочете використовувати #size, це теж добре!
injectтак, що користувачі не повинні читати два опишіть і спробуйте розібратися, чи вони однакові ... чи не йде це за принципом DRY?
Більш новіші версії документації Enumerable#reduceвказують це явно:
injectІreduceметоди є псевдонімами. Немає жодної вигоди від продуктивності.
&:+), зменшіть, якщо це блок,