(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

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わからないところがあるけど、そのうち神に聞こうかな…。