関数から返された関数
> (define (make-adder n)
    (lambda (m) (+ m n)))
> (define add1 (make-adder 1))
> (define add2 (make-adder 2))
> (add1 10)  ; add1 は (lambda (m) (+ m n)) という式と、n=1 だったことを覚えている
11
> (add2 10)  ; add2 は (lambda (m) (+ m n)) という式と、n=2 だったことを覚えている
12

一覧 前へ 次へ