版本函数参考
EAPI 7 引入了三个用于常见版本号操作的命令
-
ver_cut
获取版本字符串的子字符串 -
ver_rs
替换版本字符串中的分隔符 -
ver_test
比较两个版本
版本字符串
这些函数支持由版本组件和(可能为空的)版本分隔符交织而成的任意版本字符串。
版本组件可以由纯数字 ([0-9]+
) 或纯大写和小写字母 ([A-Za-z]+
) 组成。版本分隔符可以是任何其他字符的字符串 ([^A-Za-z0-9]+
),也可以出现在字母序列和数字序列之间的过渡处,反之亦然。在后一种情况下,版本分隔符为空字符串。
版本从左到右进行处理,每个后续组件从 1 开始分配编号。这些组件要么在版本分隔符上分割,要么在数字和字母之间的边界上分割(在这种情况下,组件之间的分隔符为空)。版本分隔符从 1 开始分配编号,用于第一个和第二个组件之间的分隔符。作为特殊情况,如果版本字符串以分隔符开头,则将其分配索引 0。
示例
类型 | s | c | s | c | s | c | s | c | s | c |
---|---|---|---|---|---|---|---|---|---|---|
索引 | 0 | 1 | 1 | 2 | 2 | 3 | 3 | 4 | 4 | 5 |
1.2.3 |
1 |
. |
2 |
. |
3 |
|||||
1.2b_alpha4 |
1 |
. |
2 |
b |
_ |
alpha |
4 |
|||
.11. |
. |
11 |
. |
函数
函数 | 用法 | 描述 |
---|---|---|
ver_cut
|
range [version] |
打印版本字符串的子字符串,该子字符串包含由 range 定义的组件及其之间的版本分隔符。如果指定,则处理 version,否则处理 有关版本和范围的语法,请参见引言部分。 |
ver_rs
|
range repl [range repl...] [version] |
在用 repl(字符串)替换 range 处的指定版本分隔符后,打印版本字符串。可以指定多个 range repl 对。如果指定,则处理 version,否则处理 有关版本和范围的语法,请参见引言部分。 |
ver_test
|
[v1] op v2 |
检查关系 v1 op v2 是否为真。如果未指定 v1,则默认为 版本 v1 和 v2 必须符合 PMS 版本语法(可选修订部分),并且比较根据 PMS 中指定的算法 进行。 |