使用Lisp:编写一个名为myList的公共Lisp函数,该函数创建并返回以下列表

使用Lisp:编写一个名为myList的公共Lisp函数,该函数创建并返回以下列表,list,function,lisp,common-lisp,construction,List,Function,Lisp,Common Lisp,Construction,这是给出的列表: (4 (7 22) "art" ("math" (8) 99) 100) 但是我仍然无法找到正确的代码来回答这个问题 我想到的只是 (defund myList() (4 (7 22) "art" ("math" (8) 99 100) ) 但显然这是不正确的您需要引用列表,这样它就不会被视为函数调用 defund是defun的打字错误,您缺少一个右括号 (defun myList() '

这是给出的列表:

(4 (7 22) "art" ("math" (8) 99) 100)
但是我仍然无法找到正确的代码来回答这个问题

我想到的只是

(defund myList() (4 (7 22) "art" ("math" (8) 99 100) ) 

但显然这是不正确的

您需要引用列表,这样它就不会被视为函数调用

defund
defun
的打字错误,您缺少一个右括号

(defun myList()
  '(4 (7 22) "art" ("math" (8) 99 100)))
如果需要非常量数据,请使用
LIST
功能在每个级别创建新列表

(defun myList ()
  (list 4 (list 7 22) "art" (list "math" (list 8) 99 100)))

您需要引用列表,这样它就不会被视为函数调用

defund
defun
的打字错误,您缺少一个右括号

(defun myList()
  '(4 (7 22) "art" ("math" (8) 99 100)))
如果需要非常量数据,请使用
LIST
功能在每个级别创建新列表

(defun myList ()
  (list 4 (list 7 22) "art" (list "math" (list 8) 99 100)))

您可能会争辩说,这并没有创建一个列表:
(eq(mylist)(mylist))
将是正确的。我不知道最初的问题是否担心这一点。我同意引用列表既危险又不可能成为教学目标。我怀疑他们在寻找CONS的精确用法。@kennytilton我添加了创建新列表的代码。不错,但通常类似的说明包括“…不使用列表”。在这种情况下,我们的目标是通过使用CONS让您更深入地了解列表结构。例如,使用COND创建列表的方法是
(42)
(CONS 42 nil)。创建列表非常棘手:
(cons1(cons2 nil))
。Tbh,列表是语法糖!很快,在处理列表时,你将需要看到过去的糖。hth。如果有其他限制,问题需要这样说。你可以说这并没有创建一个列表:
(eq(mylist)(mylist))
将为真。我不知道最初的问题是否担心这一点。我同意引用列表既危险又不可能成为教学目标。我怀疑他们在寻找CONS的精确用法。@kennytilton我添加了创建新列表的代码。不错,但通常类似的说明包括“…不使用列表”。在这种情况下,我们的目标是通过使用CONS让您更深入地了解列表结构。例如,使用COND创建列表的方法是
(42)
(CONS 42 nil)。创建列表非常棘手:
(cons1(cons2 nil))
。Tbh,列表是语法糖!很快,在处理列表时,你将需要看到过去的糖。如果有额外的限制,问题需要说明。