next up previous
Next: 4.3.2 汎用手続きとして用いる場合 Up: 4.3 高階手続きによる抽象化 Previous: 4.3 高階手続きによる抽象化

4.3.1 引数として手続きを用いる場合


==> (define (sum term a next b)
      (if (> a b) 0
        (+ (term a)
           (sum term (next a) next b))))
SUM 
==> (define (cube x) (* x x x))
CUBE 
==> (define (square x) (* x x))
SQUARE 
==> (define (1+ x) (+ x 1))
1+ 
==> (sum cube 1 1+ 10)
3025 
==> (sum square 1 1+ 10)
385


generated through LaTeX2HTML. M.Inaba 平成18年5月6日