lengthのもうひとつの実装

2014年10月5日
1 分

リストの個数を返す手続き。

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