1 个不稳定版本
| 0.1.0 | 2021年4月8日 |
|---|
#1428 在 数据结构
每月80次下载
用于 2 个crates(通过triangulate)
64KB
927 行
Zot
提供类似于Option的枚举类型,用于处理有序集合(零个、一个或两个元素)Zot,或一个或两个元素的有序集合Ot。
let zot = Zot::Two("one", "two");
assert_eq!(zot.last(), Some("two"));
let ot = Ot::One("just one");
assert!(ot.is_one());
大部分功能模仿Option,但有几点例外
- 添加了一些与相对位置相关的新函数
first从*::One获取单个元素或从*::Two获取第一个元素。Zot<T>返回一个Option<T>,其中Zot::Zero返回None。second从*::Two获取第二个元素。Ot<T>和Zot<T>都返回一个Option<T>last从*::Two获取第二个元素,或者从*::One获取单个元素。Zot<T>返回一个Option<T>,Ot<T>返回一个T。- 还包括
*_mut、replace_*和take_*(仅 Zot)的变体。
- 一些在处理两个值时没有明显对应的功能不包括在内(例如
zip)。 map需要一个FnMut参数而不是FnOnce,因为函数可能需要被调用两次。
依赖项
~165KB