5 个不稳定版本
0.3.0 | 2022年11月1日 |
---|---|
0.2.0 | 2017年11月6日 |
0.1.2 | 2017年8月16日 |
0.1.1 | 2017年8月11日 |
0.1.0 | 2017年8月11日 |
2021年 解析器实现
每月24次下载
16KB
425 行
dewey
dewey
是一个简单的版本解析器和比较器,旨在与 NetBSD 和 xbps 的比较器实现兼容。
dewey
不仅解析点分隔的版本,还解析其他常见模式,如 X.XalphaX
、X.XrcX
和 X.X.Xpl1
示例
use dewey::VersionCmp;
let stable = "1.0".version();
let pre = "1.0pre1".version();
let pl = "1.0pl1".version();
assert!(stable > pre);
assert!(pl > stable);
assert!(pl > pre);
支持的分隔符
- 修订版:示例:
1.0_1
- Alpha:
0.0alpha1
- Beta:
0.0beta1
- 预发布:
0.0pre1
- Rc:
0.0rc1
- 补丁级别:
0.0pl1
- 点:
1.0
版本覆盖
dewey
尽力在两个版本之间产生关系。
它甚至可以处理相当神秘的 UTF-8 版本。
use dewey::VersionCmp;
let smile = "1.😃".version();
let sad = "1.😢".version();
assert!(smile < sad);
只有在存在冲突的版本方案时才会失败。
use dewey::VersionCmp;
let alpha_suffix = "1c".version();
let number_suffix = "1.0".version();
assert!(alpha_suffix.partial_cmp(&number_suffix) == None);