member?--Scheme手習いより
順調に読み進めて、再帰という考え方もなんとなく分かり始めた今日この頃。
ということでScheme手習いP23よりmember?を書いてみる。
(もちろん、見ないでP22までの情報です。)
(define member? (lambda (a lat) (cond ( (null? lat) #t) (or (eq? a (car lat)) (member? a (cdr lat)))))
とりあえず書いた!!
案の定エラー…orz
んで、手習いの答え…
(define member? (lambda (a lat) (cond ((null? lat) nil) (else (or (eq? (car lat) a) (member? a (cdr lat)))))))
惜しいというかなんというか、まだまだ先は長い…か?
ちょっと2,3わからないところがあるけど、そのうち神に聞こうかな…。