リストの個数を返す手続き。
cf. lengthの別の実装 – 理想のユーザ・インターフェイスを求めて
名前付きletの使い方を忘れてて調べた^^;
(define length (lambda (l) (let loop ((len 0) (lis l)) (if (null? lis) len (loop (+ len 1) (cdr lis)))))) (print (length '(1 2 3 4 5)))
takatoh@nightschool $ gosh length.scm 5