問題2.33 – SICP(計算機プログラムの構造と解釈)その47
2008年12月23日
問題2.33
アキュムレータ手続き
(define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence)))))
map
の定義
(define (map p sequence) (accumulate (lambda (x y) (cons (p x) y)) () sequence)) (map square (list 1 2 3 4 5)) gosh> (1 4 9 16 25)
append
の定義
(define (append seq1 seq2) (accumulate cons seq2 seq1)) (append (list 1 2) (list 3 4)) gosh> (1 2 3 4)
length
の定義
(define (length sequence) (accumulate (lambda (x y) (+ 1 y)) 0 sequence)) (length (list 1 2 3 4 5)) gosh> 5
計算機プログラムの構造と解釈
posted with amazlet at 08.11.07
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
ピアソンエデュケーション
売り上げランキング: 6542