EoPL reading (57) 2.2 An Abstraction for Inductive Data Type
昨晩何もデキんかった鬱憤がタマりまくっております。ばたばたしてる中での机上の現実トウヒなソレを以下に。
Exercise 2.3
(define vector-of (lambda (pred) (lambda (val) (let ((len (vector-length val))) (let f ((n 0)) (or (= n len) (and (pred (vector-ref val n)) (f (+ n 1)))))))))
最後の閉じ括弧の数があってるかどうか微妙。職場端末でも gosh 起動できん。禁断症状が出そうです(何
# 早くわしに mac をくれー
追記
以下な試験を書いてパスしてます。ちょっとすっきり
(use gauche.test) (add-load-path ".") (load "vector-of") (test-start "vector-of") (test-section "vector-of") (test* "number vector" #t ((vector-of number?) #(1 2 3 4 5))) (test* "not number vector" #f ((vector-of number?) #(1 2 a 4 5))) (test* "not number vector" #f ((vector-of number?) #(a b c))) (test* "symbol vector" #t ((vector-of symbol?) #(a b c))) (test* "not symbol vector" #f ((vector-of symbol?) #(a 2 c))) (test* "not symbol vector" #f ((vector-of symbol?) #(1 2 3 4 5))) (test-end)
パケジの download が終了したら tex の練習着手予定。