プログラミングGauche 6.5 簡単なリスト処理 練習問題
2009年05月05日
プログラミングGaucheの練習問題(p56)を解く。
リストの長さを計算する手続き length
。
(define (length lis) (define (iter lis result) (if (null? lis) result (iter (cdr lis) (+ result 1)))) (iter lis 0)) (length '(1 2 3 4 5)) gosh> 5
引数にリストをとり、条件を満たす要素のみからなるリストを返す手続き filter
。
(define (filter pred lis) (if (null? lis) '() (if (pred (car lis)) (cons (car lis) (filter pred (cdr lis))) (filter pred (cdr lis))))) (filter odd? '(4 6 7 4 3 2 9)) gosh> (7 3 9)
プログラミングGauche
posted with amazlet at 08.11.14
Kahuaプロジェクト
オライリージャパン
売り上げランキング: 22775
オライリージャパン
売り上げランキング: 22775