Tharwat 发表于 2022-7-24 07:29:53

FYI-listp函数

你有没有遇到过函数LISTP会用nil返回T?
我拔掉了头发,直到我进行了测试,我确信它将返回零,但它没有。
所以我想到,一旦人们遇到这种情况,就要挽救他们的头发。哈哈

**** Hidden Message *****

ribarm 发表于 2022-7-24 08:08:17

在文档,它指出,零代表空

Tharwat 发表于 2022-7-24 08:16:48

我说的是LISTP功能,而不是nil,除此之外,它只有FYI,所以不需要解决方案。

dexus 发表于 2022-7-25 03:18:25

这很烦人,如果你想知道某些东西是否是一个列表,你不能使用listp函数,因为这个例外。
作为替代 vl-list-length,如果它是一个列表,则返回 true(一个 int),如果不是,则返回 nil。
所以我认为它比指定的 listp 函数更适合检查列表。

Tharwat 发表于 2022-7-25 05:25:01

我更喜欢留在香草DXF中,所以以下就足够了。
(= (type pt) 'LIST)

domenicomaria 发表于 2022-7-25 05:29:37

@dexus

”作为替代
vl-list-l

dexus 发表于 2022-7-25 07:21:00

哦,你是对的。
想我应该添加somethi

Tharwat 发表于 2022-7-25 07:26:20


代码2]

dexus 发表于 2022-7-25 07:40:21



_$ (and (listp nil) (vl-list-length nil))
T
好吧,我又要喝杯咖啡了。
谢谢你比我更清醒

JohnK 发表于 2022-7-25 09:55:20

同样令人恼火的是,对于关联列表,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
查看完整版本: FYI-listp函数