slysmart 发表于 2024-8-14 13:51:08

新手求助

下面这句不明白意思
(setq bstr (= (strcase strkind) (strcase "Good")))
是不是后面相等就赋值给bstr?
如何再加个条件,或等于strcase "very Good"

黄翔 发表于 2024-8-14 14:02:43

(setq bstr (= (strcase strkind) (strcase "Good")))
等价于
(setq bstr (= (strcase strkind) "GOOD"))

判断 strkind 是否等于 "GOOD",(忽略大小写)
sbstr 返回bool结果只有 T nil

slysmart 发表于 2024-8-14 14:06:37

黄翔 发表于 2024-8-14 14:02
(setq bstr (= (strcase strkind) (strcase "Good")))
等价于
(setq bstr (= (strcase strkind) "GOOD")) ...

非常感谢,能否改写一下,即strkind 是否等于GOOD或者等于VERYGOOD?满足一项返回T

黄翔 发表于 2024-8-14 14:12:09

(setq bstr (or (= (strcase strkind) "GOOD") (= (strcase strkind) "VERYGOOD")))

(setq bstr (wcmatch (strcase strkind) "GOOD,VERYGOOD"))

aws 发表于 2024-8-14 14:14:46

(setq bstr(or(=(strcase strkind)"GOOD")(=(strcase strkind)"VERYGOOD")))

slysmart 发表于 2024-8-14 14:25:12

谢谢各位!

xyp1964 发表于 2024-8-14 14:34:34

(setq bstr (and strkind(member (strcase strkind) '("GOOD" "VERYGOOD"))))

muai2010 发表于 2024-8-14 15:22:45

最简写法了,用在判断合适
页: [1]
查看完整版本: 新手求助