[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 メーリングリストの案内