4个版本 (重大变更)
0.4.0 | 2024年5月22日 |
---|---|
0.3.0 | 2024年5月22日 |
0.2.0 | 2024年5月16日 |
0.1.0 | 2024年5月15日 |
#548 in 文本处理
11KB
164 行
uapi-version
根据UAPI版本格式规范比较版本。
这个库完全用Rust编写,不依赖于任何第三方依赖。它是#![no_std]
,因此也可以用于UEFI开发。
使用与systemd测试其strverscmp_improved()
函数相同的测试套件。
任何与UAPI规范的偏差都是错误。如果您发现任何错误,请报告!
用法
将uapi-version
添加到您的Cargo.toml
cargo add uapi-version
您可以比较两个版本
use std::cmp::Ordering;
use uapi_version::Version;
fn main() {
let a = Version::from("225.1");
let b = Version::from("2");
assert_eq!(a.cmp(&b), Ordering::Greater)
}
您可以排序版本列表
use uapi_version::Version;
fn main() {
let mut versions = [
"5.2",
"abc-5",
"1.0.0~rc1",
].map(Version::from);
versions.sort();
assert_eq!(versions, [ "abc-5", "1.0.0~rc1", "5.2" ].map(Version::from))
}
您还可以直接比较版本字符串
use std::cmp::Ordering;
use uapi_version::strverscmp;
fn main() {
assert_eq!(strverscmp("124", "123"), Ordering::Greater)
}