1.3.1 引数としての手続き

練習問題の試験を考えてみる。

Exercise 1.30

繰り返しな sum 手続きを、という問題。ここまでで出てくるナニを鑑みるに試験は以下か。

(use gauche.test)
(add-load-path ".")  ;; カレントディレクトリにソースがあるの前提
(load "sum")         ;; 試験対象なナニは sum.scm なの前提

(test-start "sum")
(test-section "sum-cubes")
(let* ((inc (lambda (n) (+ n 1)))
       (sum-cubes (lambda (a b)
		    (sum cube  a inc b))))
  (test* "(sum-cubes 1 10)"
	 3025
	 (sum-cubes 1 10)))

(test-section "sum-integers")
(let* ((identity (lambda (x) x))
       (inc (lambda (n) (+ n 1)))
       (sum-integers (lambda (a b)
		       (sum identity a inc b))))
  (test* "(sum-integers 1 10)"
	 55
	 (sum-integers 1 10)))

;; pi-sum は略
;; 積分云々も略

(test-end)

動かんかったらすぐに連絡下さい (誰
以降のナニも色々、なんですが、明日もばたばたしそげなのでこれで力尽きる方向で。