;http://cametan-001.tumblr.com/post/470529715/cps-rt-valvallow
(define (find-fold/cps pred?/cps proc/cps seed lis cont)
(null?/cps lis
(lambda (result)
(if result
(cont seed)
(pred?/cps (car lis)
(lambda (result) ;テキストじゃここが抜けてる。ここがないとダメ。
(if result
(proc/cps (car lis)
seed
(lambda (seed2)
(find-fold/cps pred?/cps proc/cps seed2 (cdr lis) cont)))
(find-fold/cps pred?/cps proc/cps seed (cdr lis) cont))))))))
|
まあ、ホントの事言うと、プログラミングGaucheのあの例が適切で分かりやすいもの選んでるのか、って言うと疑問なんですけどね。これは私も、もちょっとシンプルな例はなかったのかなー、と思いました。
書けたとしても書く気にはなれないコードだなと。
0 件のコメント:
コメントを投稿