# Else

指定 If 语句的计算结果为 false 时, 要执行的一个或多个语句.

    Else 语句

    Else
    {
        语句
    }

## 备注

Else 的每次使用都必须附属于(与之关联的) 其上方的 If 语句. 除非使用区块来改变该行为, 否则 Else 始终附属于其上方最近的且无主的 If 语句.

Else 可以在同一行上紧跟着任何其他的单个语句. 这通常用于 "else if" 梯形结构(请参阅底部的例子).

如果 Else 拥有多行, 那么这些行必须用大括号括起来(创建一个区块). 但是, 如果只有一行属于 Else, 则大括号是可选的. 例如:

    if (count > 0)  ; 下一行可以不需要使用大括号括住, 因为它只有一行.
        MsgBox Press OK to begin the process.
    else  ; 下面这部分必须使用大括号括住, 因为它含有多行.
    {
        WinClose Untitled - Notepad
        MsgBox There are no items present.
    }

One True Brace(OTB) 风格可以用于 Else 前后. 例如:

    if IsDone {
        ; ...
    } else if (x < y) {
        ; ...
    } else {
        ; ...
    }

## 相关

区块, If 语句, 控制流语句

## 示例

Else 语句的常见用法. 本例执行如下:

1. 如果记事本存在:
   1. 激活它
   2. 发送字符串 "This is a test." 然后是 `Enter`.
2. 否则(即如果记事本不存在):
   1. 激活另一个窗口
   2. 在坐标 100, 200 处左击

    if WinExist("Untitled - Notepad")
    {
        WinActivate
        Send This is a test.{Enter}
    }
    else
    {
        WinActivate, Some Other Window
        MouseClick, Left, 100, 200
    }

演示如何使用 Else 语句的不同风格. 请注意 IfEqual 将被淘汰, 通常应避免使用.

    if (x = 1)
        Gosub, a1
    else if (x = 2) ; "else if" 类型
        Gosub, a2
    else IfEqual, x, 3 ; 可选类型
    {
        Gosub, a3
        Sleep, 1
    }
    else Gosub, a4  ; 即任何单个语句都可以和 Else 放在同一行.

    ; 也可以这样:
    IfEqual, y, 1, Gosub, b1
    else {
        Sleep, 1
        Gosub, b2
    }

dftg