keesa 发表于 2012-12-31 18:26:35

关于eq的用法,请赐教!谢谢

本人小白一个,之前有vb基础,现刚开始学lisp不久,看了个高手的源码,有几句不太明白,麻烦高手们帮忙解答下呀~万分感谢啊!!
1.(IF (setq ss (ssget '((0 . "*TEXT") (1 . "#*-#*-*#(%)")))) xxxx)
主要是不明白# *的用意,以及IF后面只跟了个定义,确不存在判断语句,不知为何可以?
2.(if (eq 'pickset (type ss)) xxxx)
ss是上述选择集,xxxx其他代码,此处省略。还请高手解答此句的用意

yjr111 发表于 2012-12-31 19:01:13

1、*、#是通配符,请查看wcmatch用法;
2、eq意思是等于,当变量为数值或字符串时,相当于=,当变量为其他时,若判断是否一致,则用eq;

ZZXXQQ 发表于 2012-12-31 19:01:16

1、在LISP中如果表达式不为空(nil)就可当做真(T);函数ssget后的字串是过滤表所用的字符是通配符,可看wcmatch的帮助;
2、eq用于表达式相等判断。(什么是表达式不用再说了吧)

kwok 发表于 2012-12-31 19:04:31

#代表数字吧*是任意字,不知这样解对不对
if后是选择集里定义选择特定对象吧.

【KAIXIN】 发表于 2012-12-31 19:27:29

楼上几位说的够清楚,对于SSGET的使用方法,论坛有个专贴细讲了.....
页: [1]
查看完整版本: 关于eq的用法,请赐教!谢谢