# Rubyのinjectメソッドって便利だなー
_published: 2009/04/02_ 
例えば、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さん、ありがとうございます。