# Rubyのinjectメソッドって便利だなー _published: 2009/04/02_ ![alt](http://b.hatena.ne.jp/entry/image/http://d.hatena.ne.jp/shunsuk/20090402/1238652944) 例えば、5の階乗を求める場合。 ```ruby (1..5).inject {|x, y| x * y} ``` これでOK。 最初に、`x` に `1` が入って、 `y` に `2` が入る。次に `x * y` の結果が `x` に入って、 `y` に `3` が入る。 最初の `x` の値を指定することも可能。 ```ruby (1..5).inject(1) {|x, y| x * y} ``` この場合、最初に、 `x` に `1` ( `inject` の引数)が入って、 `y` に `1` ( `Range` の1番目)が入る。 `inject` メソッドって存在は知ってたけど、使ってませんでした。C#に無いから。。 追記(2009-04-05) C#だと `Aggregate` メソッドだそうです。コメント欄参考。id:matarilloさん、ありがとうございます。