如何检查版本号?

我用 Lua 4 写了一个小程序,在它所生成的输出中,我将程序版本号存储为以下字符串格式:

AppVersion = "1.6.2"

我如何解析这个字符串,以检查记录的版本号是否等于或小于当前程序版本号?

点赞
用户2633423
用户2633423

你可以使用以下代码:

AppVersion = "1.6.2"
recordedVersion = "1.7.2"

_, _, v1, v2, v3 = strfind( AppVersion, "(%d+)%.(%d+)%.(%d+)" )
_, _, r1, r2, r3 = strfind( recordedVersion, "(%d+)%.(%d+)%.(%d+)" )

(相关部分的手册在这里)。

然后,您可以将每个版本的三个组件转换为数字并进行比较。

2013-10-02 11:08:57
用户501017
用户501017

对于 Lua 5.1,我的最终代码如下:

AppVersion = "1.6.2"
local major, minor, patch = string.match(AppVersion, "(%d+)%.(%d+)%.(%d+)")
2021-06-01 10:21:00