Réponses:
Oui, et il est également appelé fold
dans de nombreux autres langages de programmation et en mathématiques. Ruby utilise beaucoup d'alias afin d'être intuitif pour les programmeurs d'horizons différents. Si vous souhaitez utiliser #length
sur un Array
, vous pouvez. Si vous voulez l'utiliser #size
, c'est bien aussi!
inject
pour que les utilisateurs n'aient pas à lire les deux description et essayez de déterminer si elles sont identiques ... cela ne va-t-il pas avec le principe DRY?
Les versions plus récentes de la documentation le Enumerable#reduce
spécifient explicitement:
Les méthodes
inject
etreduce
sont des alias. Il n'y a aucun avantage en termes de performances.
&:+
), réduire, si c'est un bloc, injecter