带容差的member
带容差的member;;当Fuzz=0时,结果同系统member
;;(HH:member 3 '(2 5 3) 0) => '(3)
(defun HH:member (item Lst Fuzz / A FLAG)
(while (and (not Flag) (setq a (car lst)))
(if (equal item a Fuzz)
(setq Flag T)
)
(setq lst (cdr lst))
)
(if Flag
(cons a lst)
)
) 黄师兄威武,刚好用上这个函数,谢谢 本帖最后由 vip-happy 于 2021-9-7 10:37 编辑
不知能否用于点表比较
(defun tolerance_member (b lst f / a Flag)
(defun H_compare (a b f)
(and
(equal (car b) (car a) f)
(equal (cadr b) (cadr a) f)
)
)
(while (and(not Flag)(setq a (car lst)))
(if (setq Flag (H_compare (a b f)))
nil
(setq lst (cdr lst))
)
)
Flag
)
(defun member+(expr lst fuzz)
(vl-member-if(function(lambda(x)(equal expr x fuzz)))lst)
) xtjd 发表于 2021-9-8 07:57
(defun member+(expr lst fuzz)
(vl-member-if(function(lambda(x)(equal expr x fuzz)))lst)
)
好精简的代码:victory:不知能用于2维点表搜索
页:
[1]