if (Ausdruck)


Überprüft, ob ein Audruck (Ausdruck) WAHR ist; expression-if.

if (Ausdruck)

Bemerkungen

Es gibt in AutoHotkey zwei Arten von if-Vergleichen: das "traditionelle" if und das "expression-if" (von dem wir hier sprechen).

Ein expression-if (if-Vergleich mit einem Ausdruck) wird erkannt, wenn - im Gegensatz zu einem traditionellen if wie z. B. If FoundColor <> Blue - das erste Zeichen nach dem Wort if eine geöffnete Klammer ist. Obwohl hierfür üblicherweise der komplette Ausdruck eingeklammert wird, ist auch so etwas wie if (x > 0) and (y > 0) erlaubt. Die geöffnete Klammer kann auch ganz weggelassen werden, wenn der erste Eintrag nach dem Wort if ein Funktionsaufruf oder eine Variable (ggfs. nach einem Operator wie not oder !) ist.

Wenn ein If oder ein ELSE mehrere Zeilen umfaßt, müssen diese eingeklammert werden. Wenn zu If oder Else nur eine Zeile gehört, sind die Klammern optional. Siehe die Beispiele weiter unten.

Ab v1.0.41+ kann für expression-ifs optional der One True Brace (OTB) Stil benutzt werden, jedoch nicht für "traditionelle" ifs. Beispiel:

if (x < y) {
    ...
}
if WinExist("Unbenannt - Editor") {
    WinActivate
}
if IsDone {
    ...
} else {
    ...
}

Einem else dürfen alle Arten von Anweisungen folgen, einem expression-if dagegen höchstens eine geschweifte Klammer "{".

Siehe auch

Expressions, Zuweisung (:=), if var in/contains MatchList, if var between, IfInString, Blöcke, Else

Beispiel

if (A_Index > 100 or Fertig)
    return

if (A_TickCount - StartTime > 2*MaxTime + 100)
{
    MsgBox Die Zeit ist abgelaufen.
    ExitApp
}

if (Farbe = "Blau" or Farbe = "Weiß")
{
    MsgBox Diese Farbe ist gehört zu den erlaubten Farben.
    ExitApp
}
else if (Farbe = "Silber")
{
    MsgBox Silber ist keine erlaubte Farbe.
    return
}
else
{
    MsgBox Diese Farbe ist nicht bekannt.
    ExitApp
}