Bruce.です。
ジャアクな回答ですので使用禁止 :)
機械伯爵 writes:
> さて、あなたはどうしますか?
>
> ※例に挙がってるのはPythonですが、入門者の誘導、という話題で……
> もしよければ、他の言語で似たようなネタ、書いてください(笑)
def f0(v): return v*2
def f1(v): return v*3
def f2(v): return v*4
def f3(v): return v*5
def f4(v): return v*6
print reduce(lambda v, f: f(v), [1, f0, f1, f2, f3, f4])
Ruby版
puts [proc{|v| v*2}, proc{|v| v*3}, proc{|v| v*4}, proc{|v| v*5}, proc{|v| v*6},].inject(1){|r, f| r = f.call(r)}
実はRuby版が先にできました。
Pythonには injectってねーなーと悩むことしばし。
Ruby版では、最初に def で関数定義したものの名前を配列要素に並べて
失敗したのはナ・イ・ショ :)
いじょ。
#次はHaskellでやってみやう