我在使 if 表达式起作用时遇到问题。问题是使用了第一个 if 语句,即使旁边的表达式应该返回 FALSE 值。
例如,当我运行这个脚本时,它应该在%X%
它运行两次时的值是 10。(第一个是 5,第二个是 10)。%length%
然后在第二次运行时顺便有一个值为 2。
我在第二次运行时得到的消息框显示“InputVar 的长度为 2。- One - 2”一直到第 19 次运行时显示“InputVar 的长度为 2。 - One - 19”。然后,当它运行 20(到 22)时,它会显示“InputVar 的长度是 3. - One - 20”。
我究竟做错了什么?
^1::
X:=0
Y:=0
Loop, 22
{
Y:=++Y
X:=5+X
InputVar:=X
StringLen, length, InputVar
if (%length%<2)
{
MsgBox, 1, Length, The length of InputVar is %length%. - One - %Y%, 2
}
else if (%length%==2)
{
MsgBox, 1, Length, The length of InputVar is %length%. - Two - %Y%, 2
}
else if (%length%>2)
{
MsgBox, 1, Length, The length of InputVar is %length%. - Three - %Y%, 2
}
else
{
MsgBox, 1, Length, The length of InputVar is %length%. - Unknown - %Y%, 2
}
Sleep 500
}
Return
;These are the written numbers I should expect to be paired up with %Y%.
;One - 1
;Two - 2-19
;Three - 20-22