Risposte:
Sì, ed è anche chiamato fold
in molti altri linguaggi di programmazione e in Matematica. Ruby si alias molto per essere intuitivo per i programmatori con background diversi. Se vuoi usare #length
su un Array
, puoi. Se vuoi usare #size
, va bene anche questo!
inject
modo che gli utenti non debbano leggere i due descrizione e cerca di capire se sono la stessa cosa ... non è d'accordo con il principio DRY?
Versioni più recenti della documentazione di lo Enumerable#reduce
specificano esplicitamente:
I metodi
inject
ereduce
sono alias. Non ci sono vantaggi in termini di prestazioni per nessuno dei due.
&:+
), riduci, se è un blocco, inietta