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