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