字符串yse no循环取值,如何写才正确
本帖最后由 zzl9105 于 2018-5-22 19:03 编辑我试过if ,while都不行,请高手指点一下(字符串变量为YON)(这些句子已在循环语句中)
(IF (= YON "YSE") (setq YON "NO"))
(IF (= YON "NO") (setq YON "YSE"))
(while (= YON "YSE") (setq YON "NO"))
(while (= YON "NO") (setq YON "YSE"))
应该用哪个基础函数呀,或者上面的写法要变一下,达到的效果为:yes no yes no yes no..........
谢谢
再用个or把上面的语句括起来么?
(cadr (assoc you '(("yes" "no")("no" "yes")))) (IF (= YON "NO") (setq YON "YSE") (setq YON "NO")) (setq yon (cadr (member yon '("YES" "NO" "YES")))) 你这样试试:
(defun c:13()
(IF (= YON "NO") (setq YON "YSE") (setq YON "NO"))
(alert YON)
) 669423907 发表于 2018-5-23 09:31
你这样试试:
(defun c:13()
(IF (= YON "NO") (setq YON "YSE") (setq YON "NO"))
顺便问下关于子函数的问题:子函数返回值,是用alert 来返回的么,刚开始接触子函数,不知道它的返回原则,或者主、子函数的写法要求。 直接用啊直接用啊 用COND 函数?你试试看 是不是 你要的意思 试试看,默认是 No,也改为默认是 Yes
(defun test()
(setq n 0)
(while
(progn
(initget "Yes No ")
(setq YON (getpoint "\n您是否继续循环[是(Yes)/<否(No)>]:"))
(or YON (setq YON "No"))
(cond
((= YON "Yes")
(princ "\n您选择了继续...")
(princ (setq n (1+ n)))
(princ)
t
)
((= YON "No")
(princ "\n您选择了结束.")
(princ)
nil
)
(t
(princ "\n当前输入不合法,请重新输入")
t
)
)
)
)
) (setq a (IF (= a "YES") "NO" "YES"))
页:
[1]