「The Little Schemer」
昨日の続き
;((5. *Oh My Gawd*:It's Full of Stars) 80) (define rember* (lambda (a l) (cond ((null? l) '()) ((atom? (car l)) (cond ((eq? a (car l)) (rember* a (cdr l))) (else (cons (car l) (rember* a (cdr l)))))) (else (cons (rember* a (car l)) (rember* a (cdr l))))))) (define insertR* (lambda (new old l) (cond ((null? l) '()) ((atom? (car l)) (cond ((eq? old (car l)) (cons (car l) (cons new (insertR* new old (cdr l))))) (else (cons (car l) (insertR* new old (cdr l)))))) (else (cons (insertR* new old (car l)) (insertR* new old (cdr l))))))) (define occur* (lambda (a l) (cond ((null? l) 0) ((atom? (car l)) (cond ((eq? a (car l)) (add1 (occur* a (cdr l)))) (else (occur* a (cdr l))))) (else (o+ (occur* a (car l)) (occur* a (cdr l))))))) |
なんだか、だいぶスラスラ書けるようになっててうれしいなぁー。まぁまだこんな簡単な問題だからだけれども。
0 件のコメント:
コメントを投稿