VerCompare

Vergleicht zwei Versionszeichenketten.

Ergebnis := VerCompare(VersionA, VersionB)

Parameter

VersionA

Typ: Zeichenkette

Die erste zu vergleichende Versionszeichenkette.

VersionB

Typ: Zeichenkette

Die zweite zu vergleichende Versionszeichenkette, der optional einer der folgenden Operatoren vorangestellt werden kann: <, <=, >, >= oder =.

Rückgabewert

Typ: Integer (boolesch) oder Integer

Wenn VersionB mit einem Operatorsymbol beginnt, gibt diese Funktion 1 (true) oder 0 (false) zurück.

Andernfalls gibt diese Funktion folgendes zurück, um die Beziehung zwischen VersionA und VersionB anzugeben:

Um eine bestimmte Beziehung zwischen den beiden Zeichenketten zu überprüfen, vergleichen Sie das Ergebnis mit 0. Zum Beispiel:

a_kleiner_als_b := VerCompare(a, b) < 0
a_größer_gleich_b := VerCompare(a, b) >= 0

Bemerkungen

Versionszeichenketten werden nach denselben Regeln wie #Requires verglichen.

Diese Funktion sollte Versionszeichenketten gemäß Semantic Versioning 2.0.0 korrekt vergleichen, aber die Parameter müssen nicht unbedingt gültige SemVer-Zeichenketten sein.

Diese Funktion kann in einer Sort-Rückruffunktion verwendet werden.

#Requires, Sort, StrCompare

Beispiele

Prüft die verwendete Version von AutoHotkey.

if VerCompare(A_AhkVersion, "2.0") < 0
    MsgBox "Diese Version < 2.0; möglicherweise eine Vorabversion."
else
    MsgBox "Diese Version ist 2.0 oder höher."

Zeigt einen Unterschied zwischen VerCompare und StrCompare.

MsgBox VerCompare("1.20.0", "1.3")  ; Gibt 1 zurück
MsgBox StrCompare("1.20.0", "1.3")  ; Gibt -1 zurück

Zeigt den Vergleich mit Vorabversionen.

MsgBox VerCompare("2.0-a137", "2.0-a136")  ; Gibt 1 zurück
MsgBox VerCompare("2.0-a137", "2.0")  ; Gibt -1 zurück
MsgBox VerCompare("10.2-beta.3", "10.2.0")  ; Gibt -1 zurück

Zeigt eine Bereichsprüfung.

MsgBox VerCompare("2.0.1", ">=2.0") && VerCompare("2.0.1", "<2.1")  ; Gibt 1 zurück