菜卷鱼 发表于 2021-6-11 16:12:31

既然用得不多,为啥还要单独写一个那么复杂的呢?

(defun ss:n ()
(setq aa '("##." "###." "####." "#####."))
(setq bb '("#" "##"))
(setq cc '("(#)" "(##)" "(###)"))
(setq n1 (zuhe aa (zuhe bb cc)))
(setq n2 (mapcar '(lambda (x) (apply 'strcat x)) n1))
(ssget (list (cons 1 (strjoin n2 ","))))
)
;;;字符串连接
(defun strjoin (lst del)
(if (cdr lst)
    (strcat (car lst) del (strjoin (cdr lst) del))
    (car lst)
)
)
;;;两个表两两组合成新表
(defun zuhe (lst1 lst2 / i j a lst)
(setq i 0)
(repeat (length lst1)
    (setq a (nth i lst1))
    (if (atom a)(setq a (cons a nil)))
    (setq j 0)
    (repeat (length lst2)
      (setq b (nth j lst2))
      (if (atom b)(setq b (cons b nil)))
      (setq lst
       (append
         lst
         (list(append a b))
       )
      )
      (setq j (1+ j))
    )
    (setq i (1+ i))
)
Lst
)

tryhi 发表于 2021-6-12 16:15:58

本帖最后由 tryhi 于 2021-6-12 16:19 编辑

菜卷鱼 发表于 2021-6-11 16:12
既然用得不多,为啥还要单独写一个那么复杂的呢?
用得不多这个没想到,当初的想法是直接代替的,但是由于变量无法用单引号,导致每次写ssget的时候就要list cons一堆,又觉得麻烦
就像我定义try-sort一样,就是完全替代掉sort,只是当时没想到每次都要写list+cons就觉得好麻烦,就用得特别少了,不过也可以发散一下,直接重定义ssget

shijianyy 发表于 2021-6-13 23:17:47

"#{2,5}`.#{1,2}(#{1,3})" 是什么意思?

tryhi 发表于 2021-6-15 11:08:51

shijianyy 发表于 2021-6-13 23:17
"#{2,5}`.#{1,2}(#{1,3})" 是什么意思?

"#`.#(#)"

这个看得懂吗?这个看不懂就先别看了,要求要有点基础
页: 1 [2]
查看完整版本: 创建支持数量的过滤规则