Как это рубиновое инжекционное волшебство работает?

Сегодня я видел отрывок кода Ruby.

[1,2,3,4,5,6,7].inject(:+)  

=> 28

[1,2,3,4,5,6,7].inject(:*)  

=> 5040

Инжекция здесь очень отличается от тех, как которые я видел прежде,

[1,2,3,4,5,6,7].inject {|sum, x| sum + x}

Объясните, как это работает?

5
задан Zifei Tong 11 August 2010 в 05:58
поделиться