回答:
はい、fold
他の多くのプログラミング言語や数学でも呼ばれています。Rubyは、さまざまなバックグラウンドを持つプログラマーが直感的に使用できるように、多くのエイリアスを作成します。で使用#length
したい場合は、使用Array
できます。を使用したい場合は#size
、それでも問題ありません。
inject
、ユーザーが2つを読む必要がないように同じことを言っているだけの場合に優れていると思います説明し、それらが同じであるかどうかを調べてみてください...これはDRYの原則とは一致しませんか?
ドキュメントのより最近のバージョンはEnumerable#reduce
それを明示的に指定します:
inject
そしてreduce
方法はエイリアスです。どちらにもパフォーマンス上の利点はありません。
&:+
)の場合、reduce、それがブロックの場合、inject