指定表达式得出 TRUE 时要执行的命令。
if (expression)
包含表达式的 if 语句不同于传统的 if 例如 If FoundColor <> Blue,其在单词 "if" 后面的字符是左括号。尽管通常情况下会将整个表达式围在圆括号内,不过也可以这样 if (x > 0) and (y > 0)。此外,如果紧跟 "if" 后的是一个函数调用或者是一个运算符例如 "not" 或 "!",那么左括号将被整个省略掉。
如果 if 的条件语句为真(除过空字符串或数字 0 之外的其他结果),下面的一行或者 block (语句块) 将会被执行。否则如果有相应的 ELSE,那么将执行 ELSE 下面的一行或者语句块。
当一个 IF 或 ELSE 语句有许多行时,那些行要用 braces (大括号) 围起来。然而,如果 IF 或 ELSE 语句只有一行,那么大括号就可以不用。请看本页末尾的例子。
单个正确的大括号(OTB)类型可以和表达式 if 语句一起用(但不能用在传统的 if 语句)。例如:
if (x < y) { ... } if WinExist("无标题 - 记事本") { WinActivate } if IsDone { ... } else { ... }
不像 "else" 语句,它的右边支持紧跟任意类型的语句。if 语句的右边仅支持一个 "{"。
做个相关的提示,"if var [not] between LowerBound and UpperBound" 命令检查变量的值是否处在两个值之间,而 "if var [not] in value1,value2" 命令能检查变量的内容是否在一个值的列表中存在。
Expressions, Assign expression (:=), if var in/contains MatchList, if var between, IfInString, Blocks, Else, While-loop
if (A_Index > 100 or Done)
return
if (A_TickCount - StartTime > 2*MaxTime + 100)
{
MsgBox 经过太长时间了。
ExitApp
}
if (Color = "Blue" or Color = "White")
{
MsgBox 颜色是允许值之一。
ExitApp
}
else if (Color = "Silver")
{
MsgBox 银色不是允许的颜色。
return
}
else
{
MsgBox 该颜色不可识别。
ExitApp
}
翻译:yugi 修正:天堂之门 menk33@163.com 2008年11月14日