3个不稳定版本
使用旧的Rust 2015
0.2.1 | 2018年12月17日 |
---|---|
0.2.0 | 2018年11月19日 |
0.1.6 | 2018年11月19日 |
#1375 in 数据结构
在 4 个crate中使用
23KB
388 代码行
version-lp-rs
一个用于处理版本并设计用于与lovepack工具一起使用的Rust库。
概述
包含一个基于 语义版本控制系统 的自定义版本 结构体。仅支持 a.b.c
格式,但可以有任意数量的点,例如 a.b
,a.b.c.d
也是一个有效的版本。在比较 Versions
时也支持通配符。
let wild_version = Version::from_str("2.*.*");
Version::from_string("2.3.4").unwrap().is_compatible_with(&wild_version) // will return true
可以使用标准比较。
let ver_a = Version::from_str("2.1.4");
let ver_b = Version::from_str("2.2.3");
let ver_c = Version::from_str("2.1.4");
ver_a < ver_b // true
ver_a == ver_c // true
您还可以从列表中获取最新版本。
let versions : Vec<Version> = vec![
Version::from_str("1.0.0").unwrap(),
Version::from_str("1.0.1").unwrap(),
Version::from_str("1.1.0").unwrap(),
Version::from_str("1.0.2").unwrap()
];
let requirement = Version::from_str("1").unwrap();
let version = requirement.latest_compatible_version(&versions); // would be Version (1.1.0)
成功提示
- 不能与模式比较,模式只能使用
is_compatible_with
函数进行检查。 - 比较不同长度的版本号时将假设通配符。
1.2
将与1.2.3
兼容
模式匹配
目前支持的唯一通配符是 *
。但可以通过使用简短版本实现 ^
:1.2
将与 1.2.1
到 1.2.100
匹配,并使用 ::latest_compatible_version
返回列表中的最新版本。
依赖项
~2.7–4.5MB
~79K SLoC