- A+
所属分类:CAD二次开发
lsp写程序的时候很多地方都会用到比较函数,如我有两个表,怎么判断他是否一样了。比较肯定是两个才能比较,
函数(eq 数据1 数据2)。判别是否是同一个表。两者是否为同一个表达式
例子
(defun C:T3 (/ a1 a2 a3 a4 a5)
(setq a1 '(1 2 3)
a2 '(1 2 3)
a3 '(a b c)
a4 '(huojibk_com)
)
(setq a5 a1);同一表
(princ A5)
(princ A6)
(eq a1 a5);同一表 返回T
;(eq a1 a2);同样表 返回nil
)
复制
上面的例子,同一个表返回T ,两个表一样返回nil
函数(equal 数据1 数据2)。数据1 数据2所包含的元素是否一样
例子
(defun C:T3 (/ a1 a2 a3 a4 a5)
(setq a1 '(1 2 3)
a2 '(1 2 3)
a3 '(a b c)
a4 '(huojibk_com)
)
(setq a5 a1);同一表
(princ A5)
(princ A6)
;(equal a1 a5);同一表 返回T
;(equal a1 a2);同样表 返回T
(equal a1 a3);同样表 返回nil
)
复制
上例子,两个表里面的值,位置都一样返回T,否则返回nil
。