Hatena::Groupsicp

SICP読書記

 | 

2009-11-21

問題3.2

問題3.2 - SICP読書記 を含むブックマーク はてなブックマーク - 問題3.2 - SICP読書記


(define (make-monitored func)
  (define count 0)
  (lambda (arg)
	(if (eq? arg 'how-many-calls?)
		count
		(begin
		  (set! count (+ count 1))
		  (func arg)))))


(define s (make-monitored sqrt))

(s 100)
;; -> 10.0

(s 'how-many-calls?)
;; -> 1

クロージャ大好きという人の気持ちが少し分かる。

 |