FYI-listp函数
你有没有遇到过函数LISTP会用nil返回T?我拔掉了头发,直到我进行了测试,我确信它将返回零,但它没有。
所以我想到,一旦人们遇到这种情况,就要挽救他们的头发。哈哈
**** Hidden Message ***** 在文档,它指出,零代表空 我说的是LISTP功能,而不是nil,除此之外,它只有FYI,所以不需要解决方案。 这很烦人,如果你想知道某些东西是否是一个列表,你不能使用listp函数,因为这个例外。
作为替代 vl-list-length,如果它是一个列表,则返回 true(一个 int),如果不是,则返回 nil。
所以我认为它比指定的 listp 函数更适合检查列表。 我更喜欢留在香草DXF中,所以以下就足够了。
(= (type pt) 'LIST)
@dexus
”作为替代
vl-list-l 哦,你是对的。
想我应该添加somethi
代码2]
_$ (and (listp nil) (vl-list-length nil))
T
好吧,我又要喝杯咖啡了。
谢谢你比我更清醒 同样令人恼火的是,对于关联列表,LISTP也会返回T(但不能在这些列表上使用mapcar)。
Command: (setq lst '(1 . 2))
(1 . 2)
Command: (listp lst)
T
Command: (mapcar 'princ lst)
1; error: bad list: 2
页:
[1]
2