私はこの手順を持っています:
(define count-calls
(let ((count 0))
(lambda char
(cond ((null? char)
(begin(set! count (+ 1 count))
count))
((eq? char 'how-many-calls) count)
((eq? char 'reset) (set! count 0))))))
(count-calls)が呼び出されると1が加算されますが、(count-calls'how-many-calls)を呼び出すと、意図したとおりに機能しません。(lambda charの代わりに(lambda(char))を定義すると、(eq?...)の部分が見つかりますが、(lambda char)の場合はcharを認識しないようです。