自分用 4章あたり リストは効率が悪いからか,Lispではパフォーマンスもある程度意識してプログラミングされていくみたい。 ただ,とりあえず最初は単純なものを作れと書かれている。 リストの長さを比較する関数。 length関数で長さを取ると無駄な計算が生じるとのことで。 andとorの使い方がかっこいい。 CL-USER 3 > (defun longer (x y) (labels ((compare (x y) (and (consp x) (or (null y) (compare (cdr x) (cdr y)) )))) (if (and (listp x) (listp y)) (compare x y) (> (length x) (length y)) ))) LONGER CL-USER 4 > (longer '(1 2 3 4) '(1 2 3)) T filterの