2010/03/28

member?, let/cc

こういうのもありかな。
(define (member? a lat)
(let/cc skip
(fold (lambda (e acc)
(if (eq? e a)
(skip #t)
acc))
#f lat)))
(member? 1 '(a b c))
; -> #f
(member? 'c '(a b c d e))
; -> #t
view raw cc.scm hosted with ❤ by GitHub

The Little Schemer, 4th EditionThe Seasoned Schemer

0 件のコメント:

コメントを投稿