VerCompare() [v1.1.36+]

比较两个版本字符串.

Result := VerCompare(VersionA, VersionB)

参数

VersionA

要比较的第一个版本字符串.

VersionB

要比较的第二个版本字符串, 可选地使用以下操作符之一作为前缀: <, <=, >, >= or =.

返回值

如果 VersionB 以操作符符号开头, 则此函数返回 1(true) 或 0(false).

否则, 该函数返回以下值之一, 以指示 VersionAVersionB 之间的关系:

要检查两个字符串之间的特定关系, 请将结果与 0 比较. 例如:

a_less_than_b := VerCompare(a, b) < 0
a_greater_than_or_equal_to_b := VerCompare(a, b) >= 0

备注

版本字符串是按照与 #Requires 相同的规则进行比较的.

这个函数应该能够正确地比较 Semantic Versioning 2.0.0 版本字符串, 但是不要求参数是有效的 SemVer 字符串.

该函数可用于排序回调.

#Requires, Sort

示例

检查正在使用的 AutoHotkey 的版本.

if VerCompare(A_AhkVersion, ">=1.1.36.00")
    MsgBox This version has VerCompare built-in.
else
    MsgBox This version < 1.1.36.00.

演示预发布版本的比较.

MsgBox % VerCompare("2.0-a137", "2.0-a136")  ; 返回 1
MsgBox % VerCompare("2.0-a137", "2.0")  ; 返回 -1
MsgBox % VerCompare("10.2-beta.3", "10.2.0")  ; 返回 -1

演示范围检查.

MsgBox % VerCompare("2.0.1", ">=2.0") && VerCompare("2.0.1", "<2.1")  ; 返回 1