Odpowiedzi:
Tak, i jest również wywoływany fold
w wielu innych językach programowania i matematyce. Ruby używa aliasów, aby być intuicyjnym dla programistów z różnymi doświadczeniami. Jeśli chcesz użyć #length
na Array
, możesz. Jeśli chcesz użyć #size
, to też jest w porządku!
inject
, aby użytkownicy nie musieli czytać dwóch opis i spróbuj dowiedzieć się, czy są takie same ... czy nie jest to zgodne z zasadą DRY?
Nowsze wersje dokumentacji Enumerable#reduce
określają to wyraźnie:
inject
Ireduce
metody są aliasy. Nie ma też żadnej korzyści z wydajności.
&:+
), zmniejszyć, czy jest to blok, inject