私はまだかなり新しいです。私の関数(この場合testと呼ばれます)の目的は、リスト内のすべての値を平方和し、新しいリストを返すことです。Lisp:リスト内のすべての値を二分する
たとえば、元のリスト(1 2 3)
。 新しいリストは、これは私がこれまで持っているもの現在(1 4 9)
する必要があり、
(defun test (n)
(cond ((null n) nil)
(t (cons * (car n) (car n))
(test (cdr n)))))
は、しかし、私はエラーを取得しておくと、続行する方法へと全くわからないです。 ご迷惑をおかけして申し訳ございません。
これが行われます'(mapcar(lambda(x)(* xx))yourlist)'または '(mapcar# '* yourlist yourlist)'で置き換えます。 Lispプログラミングにおける最も重要なことは、既存の言語とそのライブラリ、および 'mapcar'のようなアプリケータで上位関数を使うようなイディオムを活用することです。 – Kaz