请教 if 简约写法
(if (= ctrA "1")(if (= ctrB "2")(if (= ctrC "2")(progn
(command "-insert" "s90" sxx_10 "" "" "")
(command "-insert" "kt7" ktx_10 "" "" "")
)
)))
(if (= ctrA "2")(if (= ctrB "1")(if (= ctrC "2")
(progn
(command "-insert" "s90" sxx_10 "" "" "")
(command "-insert" "kt7" ktx_10 "" "" "")
)
)))
(if (= ctrA "2")(if (= ctrB "2")(if (= ctrC "1")
(progn
(command "-insert" "s90" sxx_10 "" "" "")
(command "-insert" "kt7" ktx_10 "" "" "")
)
)))
请问红色字 因为ABC的循序原因 我要这么写3遍
虽然可以达到我要的效果 但我想请问一下 有比较简约的写法吗?
(if (member (strcat strA atrB strC) '("122" "212" "221"))
(progn
(command "-insert" "s90" sxx_10 "" "" "")
(command "-insert" "kt7" ktx_10 "" "" "")
)
) (if (or (and (= ctrA "1")
(= ctrB "2")
(= ctrC "2")
)
(and (= ctrA "2")
(= ctrB "1")
(= ctrC "2")
)
(and (= ctrA "2")
(= ctrB "2")
(= ctrC "1")
)
)
(progn
(command "-insert" "s90" sxx_10 "" "" "")
(command "-insert" "kt7" ktx_10 "" "" "")
)
)
是这个意思吗?
vectra 发表于 2018-6-13 10:55
是这个意思吗?
嗯是这么个意思 就是简洁的写法 若非字串而是数值或可
但得考量变量是 1 2 之外时???
(or
(= ctrA (1- ctrB) (1- ctrC) 1)
(= (+ CtrB CtrC ctrA) 5)
) 本帖最后由 张大锤 于 2018-6-13 14:26 编辑
Andyhon 发表于 2018-6-13 14:08
若非字串而是数值或可
但得考量变量是 1 2 之外时???
(or
哦 第一次没看懂 手写了一遍懂了 这么写是挺简洁的 就是好绕脑
a=1
b=2
c=2
A =1 (1-B=1)(1-C=1) A B C 都等于1 成立
+ A B c =5 5=5 成立
其实A B C就是 3中管属性并非数值
但是2位的答复的确是我想要的 在if里 还是有很多写法的
(equal (list "2" "2") (vl-remove "1" (list ctrA ctrB ctrC))) cond 前生 发表于 2018-6-14 00:03
cond
谢谢朋友 我想学习IF的写法 lijiao 发表于 2018-6-14 08:52
感谢老铁666
页:
[1]
2