トップ «前の日記(2007-06-22 (Fri)) 最新 次の日記(2007-07-03 (Tue))» 編集   RSS 1.0 FEED  

Journal InTime


2007-06-27 (Wed) [長年日記]

_ [Ruby] ->

みんな忘れてるかもしれないけど、trunkにはまだ->が残ってるんだよ。

このまま行くと、今年のクリスマスには以下のようなコードが普通に書けるようになるわけだ。

Y = ->(f) {
  ->(x) {
    f[->(arg) { x[x][arg] }]
  }[
    ->(x) {
      f[->(arg) { x[x][arg] }]
    }
  ]
}
fact = Y[
  ->(f) {
    ->(n) {
      if n.zero? then 1 else n * f[n - 1] end
    }
  }
]
p fact[5]

思ったほど悪くないけど、Rubyには見えないな。 そのうち慣れる…のか?

本日のツッコミ(全2件) [ツッコミを入れる]
_ ささだ (2007-06-28 (Thu) 02:23)

忘れないでちゃんと実装したよ! もうオプショナル引数もpostarg もきっちり実装したよ!

_ shugo (2007-06-29 (Fri) 02:41)

記法は->でいいの?