[SML 7872] Re: 連想計算というリフレクティブな手法
AOKI Atsushi
atsushi @ cc.kyoto-su.ac.jp
2010年 12月 14日 (火) 16:21:03 JST
ありがとうございます。
にぎやかになりました!
--- 青木淳
(10/12/14 15:30), Masato Sumi wrote:
> sumim こと鷲見です。
>
> 連想計算でもリフレクティブでもないので恐縮ですが、
> にぎやかしにと、2つほど考えてみました。
>
>
> Integer>> ffibonacci
> ^((1 to: self) inject: 0 @ 1 into: [:pair :idx | 0 @ pair x + pair y]) x
>
>
> Integer>> fibonacci
> | temp1 temp2 sender |
> self negative ifTrue: [^nil].
> self = 0 ifTrue: [^0].
> self = 1 ifTrue: [^1].
> temp1 := (self - 1) fibonacci.
> temp2 isNil ifTrue: [temp2 := (self - 2) fibonacci].
> sender := thisContext sender.
> sender method selector = #fibonacci
> ifTrue: [sender tempAt: 2 put: temp1].
> ^temp1 + temp2
SML メーリングリストの案内