問題3.1、問題3.2 – SICP(計算機プログラムの構造と解釈)その105
2009年02月19日
問題3.1
(define (make-accumulator sum) (lambda (n) (begin (set! sum (+ sum n)) sum))) (define A (make-accumulator 5)) (A 10) ;gosh> 15 (A 10) ;gosh> 25
問題3.2
(define (make-monitored f) (let ((counter 0)) (define (mf m) (cond ((eq? m 'how-many-calls?) counter) ((eq? m 'reset-count) (begin (set! counter 0) counter)) (else (begin (set! counter (+ counter 1)) (f m))))) mf)) (define s (make-monitored sqrt)) (s 100) ;gosh> 10.0 (s 'how-many-calls?) ;gosh> 1 (s 50) ;gosh> 7.0710678118654755 (s 'how-many-calls?) ;gosh> 2
計算機プログラムの構造と解釈
posted with amazlet at 08.11.07
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
ピアソンエデュケーション
売り上げランキング: 6542