作者: きむらこういち
日時: 2009/5/16(15:00)
Bruce.です。

2009/5/16 機械伯爵 <kikwai@...>:
>  ども、機械す。
>
> 『階乗計算博物館』で、一応それぞれのプログラムの動作をキャプション程度に
> 書いてるのですが、どーも、Rubyの
>
> [*1..5].inject(:*)
>
> や、
>
> (1..5).inject(:*)
>
> の意味が、ちっともわかりません。
>
> リストっぽいモノを作って、*をシンボルとして連結してるのだろう、くらいの
> コトはなんとなく感じるんですが、Webの情報では、injectってブロックを取るメ
> ソッドだとか書いてあるし……
>
> どなたか、私の錆びた頭にわかるように、教えていただけませんか?


ぶっちゃけ Pythonの reduce と一緒。
:* は、Python でいうところの operator.mul を渡しているようなものです。


-- 
木村浩一/KIMURA Koichi
 I thought what I'd do was, I'd pretend I was one of those deaf-mutes
or shoud I?
 mail kbk at kt.rim.or.jp
 web  www.kt.rim.or.jp/~kbk/zakkicho/index.html