2008-04-22から1日間の記事一覧
簡単だったので、やっちまおう。 問題 3.1 アキュムレータを作れ。 (define ((make-accumulator n) x) (set! n (+ n x)) n) (define A (make-accumulator 5)) (A 10) ; 15 (A 10) ; 25 lambdaイラネー。 問題 3.2 これは面白い。関数の呼び出し回数を数える…
randの解説があるけど、randのソースが書いてなくてハマった。 (define random-init 12345) (define rand (let ((x random-init)) (lambda () (set! x (rand-update x)) x))) (define (rand-update x) (modulo (+ (* 214013 x) 253011) 32767)) (rand) ; 109…