版本函数参考
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 中指定的算法 进行。 |