再帰で数を数える
schemeで再帰でリスト処理してる時に数を数えるには別に変数つけなくちゃいけないのかなって考えてました。
The Little Schemer読んでたら以下のようなコードが出てきました。
null?で0を返せばよかったのね。
そして数を数えたい処理が来るたびに1加算していけば数えられると。
面白いなー
(define occur (lambda (a lat) (cond ((null? lat) 0) (else (cond ((eq? (car lat) a) (add1 (occur a (cdr lat)))) (else (occur a (cdr lat))))))))
- 作者: Daniel P. Friedman,Matthias Felleisen
- 出版社/メーカー: The MIT Press
- 発売日: 1995/12/21
- メディア: ペーパーバック
- 購入: 10人 クリック: 137回
- この商品を含むブログ (91件) を見る