Lisp 编写一个以数字为参数的函数并构造一个列表

Lisp 编写一个以数字为参数的函数并构造一个列表,lisp,common-lisp,clisp,Lisp,Common Lisp,Clisp,我开始学习LISP,我有一个问题需要你的帮助 编写一个函数NEW-LIST,该函数以一个数字作为参数,并构造一个包含所有T的该长度的列表 这是我的尝试,但不起作用。你能帮我弄清楚吗 (defun same-length (x) (make-list x:initial-element 't)) 提前感谢。您就快到了: * (defun make-t (size) (make-list size :initial-element T)) MAKE-T * (make-t 10) (T

我开始学习LISP,我有一个问题需要你的帮助

编写一个函数NEW-LIST,该函数以一个数字作为参数,并构造一个包含所有T的该长度的列表

这是我的尝试,但不起作用。你能帮我弄清楚吗

(defun same-length (x) 
  (make-list x:initial-element 't))
提前感谢。

您就快到了:

* (defun make-t (size)
 (make-list size :initial-element T))

MAKE-T
* (make-t 10)

(T T T T T T T T T T)
*

:初始元素是关键字参数,有关详细信息,请参阅。有关更多信息和示例,请参阅。

x和:initial元素之间应留有空格。另外,t不需要被引用。@jkiiski:非常感谢你的回答。如果我想创建一个包含所有元素TS而不是T的列表,那么这段代码就不起作用了。你知道为什么吗?T是一个常量,意思是真的,所以它不需要被引用。其他符号确实需要引用。如果它是一个变量名,而您想要的是变量的值而不是名称,那么就不应该引用它。非常感谢您宝贵的回答非常感谢您的回答