預期這將工作:未定義的變量
a := "111"
b := "222"
if (a != "aaa" and b != "bbb")
MsgBox, Yes
但「是」的消息也將如果一個變量沒有被定義
; a := "111" ; Commented line
b := "222"
if (a != "aaa" and b != "bbb")
MsgBox, Yes ; Since var "a" is not defined, I don't want this message box
這裏是所示我如何解決它:
; a := "111"
b := "222"
if ((a and b) and (a != "aaa" and b != "bbb"))
MsgBox, Yes
但從我的角度來看,它看起來像一件可怕的事情。有沒有更正確的方法?
感謝您的答案,但我的問題是關於如何避免消息,如果一個變量未定義。在你的例子中,如果我註釋掉第一行('; a = aaa'),這個消息仍然會顯示。這不是我想要的。 **更新:**對不起,您的實際答案是'如果a和b和a!=「aaa」和b!=「bbb」',第二個代碼塊只是一個加法,對不對? –
第二個代碼塊是另一種解決方案。我添加了一個解釋 –