请耐心等待,因为我对lisp还是比较陌生的。我的函数(在这种情况下称为测试)的目标是将列表中的所有值平方并返回一个新列表。例如,原始列表(1 2 3)
。 新的名单应该是(1 4 9)
Lisp:将列表中的所有值平方
这是目前我有什么到目前为止,
(defun test (n)
(cond ((null n) nil)
(t (cons * (car n) (car n))
(test (cdr n)))))
但是我不断收到一个错误,我为如何进行相当不确定。 任何帮助将不胜感激!
这样做('mapcar(lambda(x)(* xx))yourlist)',或'(mapcar#'* yourlistlistlist')'。 Lisp编程中最重要的是利用现有的语言及其库,以及像使用mapcar这样的应用程序来使用高阶函数的习惯用法。 – Kaz