symysgames 发表于 2022-7-7 13:20:16

空选择集

我经常在编程中使用选择集,但当它们为空时总是会遇到困难。为什么问题如此严重?是不是因为零的性质,它既是一个原子,又是一个列表。大多数时候,我确保我的选择集从不为空,我插入一个虚拟对象,然后在不需要它时删除,我发现它工作正常。有过滤器,但我看不出它们有什么用处。例如,如果我有一个选择集ss1,然后do(setq lg(sslength ss1)),如果我的选择集为空,它不会将lg设置为0,而是设置为nil。如何在不插入虚拟对象的情况下克服此问题。

jammie 发表于 2022-7-7 15:01:39

你好
 
有时,我会在代码的开头使用SSADD创建一个空的选择集,而不需要其他输入
 
(setq ss1 (ssadd))
 
这将生成长度为0的选择集。
 
在您使用的代码中,您可能会收到类似的错误消息
 
; error: bad argument type: lselsetp nil
 
如果选择集ss1未定义或为零,则调用
 
(setq lg (sslength ss1))
 
将导致代码出错。
 
当做
 
杰米
页: [1]
查看完整版本: 空选择集