Common lisp 使用listp测试list,但是(listpnil)返回true

Common lisp 使用listp测试list,但是(listpnil)返回true,common-lisp,Common Lisp,在GNU Clisp 2.49上,listp nil返回true。有人能解释一下吗?搜索找到的答案表明表达式应该返回NIL。在Common Lisp中,返回T作为列表。nil是空列表,因此listp nil是T。nil也可以写成 在Common Lisp中,nil有多种用途:Common-Lisp包中名为nil的符号、空列表、表示false的布尔值或广义布尔值以及空类型的名称。在Common Lisp中,为列表返回T。nil是空列表,因此listp nil是T。nil也可以写成 在Common

在GNU Clisp 2.49上,listp nil返回true。有人能解释一下吗?搜索找到的答案表明表达式应该返回NIL。

在Common Lisp中,返回T作为列表。nil是空列表,因此listp nil是T。nil也可以写成

在Common Lisp中,nil有多种用途:Common-Lisp包中名为nil的符号、空列表、表示false的布尔值或广义布尔值以及空类型的名称。

在Common Lisp中,为列表返回T。nil是空列表,因此listp nil是T。nil也可以写成


在Common Lisp中,nil有多种用途:Common-Lisp包中名为nil的符号、空列表、表示false的布尔值或广义布尔值以及空类型的名称。

请注意,如果您尝试计算“值”,它的计算结果为nil@Luis阿尔维斯:不仅如此,这实际上是一样的。请注意,如果您尝试计算“它的计算结果为”nil@Luis阿尔维斯:不仅如此,实际上是一样的。谢谢。我怀疑,正如空的一套仍然是一套一样。那么,是否有一个常用的谓词来测试列表的元素本身是否是列表?@user559840:listp如何?consp是我正在查找的运算符。@user559840但consp只检查conse。除了一个非常重要的列表:nil,它在所有列表上都返回true。是否有一个谓词常用于测试列表元素本身是否为列表?是的,是listp。谢谢。我怀疑,正如空的一套仍然是一套一样。那么,是否有一个常用的谓词来测试列表的元素本身是否是列表?@user559840:listp如何?consp是我正在查找的运算符。@user559840但consp只检查conse。除了一个非常重要的列表:nil,它在所有列表上都返回true。是否有一个谓词常用于测试列表元素本身是否为列表?是的,是listp。
CL-USER 38 > (eq (read-from-string "()")
                 (read-from-string "NIL"))
T