思源笔记社区正在搭建中,现邀您共建
SiYuan Community is under construction. Join us to co-build.
semversemver函数将字符串解析为语义化版本:$version := semver "1.2.3-alpha.1+123"$version是指向一个带有以下属性的Version对象的指针:$version.Major:主要编号(上述为1)$version.Minor:次要编号(上述为2)$version.Patch:修订编号(上述为3)$version.Prerelease:预发布版本(上述为alpha.1)$version.Metadata:构建元数据(上述为123)$version.Original:原始版本,以字符串形式Compare方法将Version与另一个version进行比较:semver "1.4.3" | (semver "1.2.3").Compare-1。-1:如果给定的语义化版本大于调用了Compare方法的语义化版本1:如果调用了Compare函数的版本更大0:如果它们是相同的版本Metadata字段。)semverComparesemverCompare。该函数支持版本范围:semverCompare "1.2.3" "1.2.3":检查是否完全匹配semverCompare "^1.2.0" "1.2.3":检查主要和次要版本是否匹配,并且第二个版本的修订编号大于或等于第一个参数。">= 1.2 < 3.0.0 || >= 4.2.3"表示寻找大于或等于1.2且小于3.0.0,或大于或等于4.2.3的比较。=:等于(别名无运算符)!=:不等于>:大于<:小于>=:大于或等于<=:小于或等于1.2.3-beta.1的版本,而稳定版本则是1.2.3。在顺序上,预发布版本位于其关联发布版本之前。例如,1.2.3-beta.1 < 1.2.3。预发布版本表示该版本不稳定,可能无法满足其关联正常版本规定的兼容性要求。
>=1.2.3将跳过预发布版本,而>=1.2.3-0将计算并找到预发布版本。0作为预发布版本的原因是,根据规范,预发布版本只能包含ASCII字母数字字符和连字符(以及.作为分隔符)。排序按照ASCII排序顺序进行,再次根据规范。ASCII 排 序顺序中最小的字符是0(请参阅ASCII表)。>=1.2.3-BETA将返回1.2.3-alpha。您可能对大小写敏感性的期望在这里不适用。这是由于 ASCII 排序顺序规范指定的。-1.2 - 1.4.5:等同于>= 1.2 <= 1.4.52.3.4 - 4.5:等同于>= 2.3.4 <= 4.5*x、X和*字符可以用作通配符。这适 用于所有比较运算符。当在=运算符上使用时,它会回退到修订级别的比较(参见下面的波浪线)。例如,1.2.x等同于>= 1.2.0, < 1.3.0>= 1.2.x等同于>= 1.2.0<= 2.x等同于< 3*等同于>= 0.0.0~(修订版本号)~比较运算符用 于修订级别范围,如果指定了次要版本,则用于主要级别更改。例如,~1.2.3等同于>= 1.2.3, < 1.3.0~1等同于>= 1, < 2~2.3等同于>= 2.3, < 2.4~1.2.x等同于>= 1.2.0, < 1.3.0~1.x等同于>= 1, < 2