#options #collection #items #ordered #zero #enums #ot

zot

提供类似于Option的枚举类型,用于处理有序集合(零个、一个或两个元素)Zot,或一个或两个元素的有序集合Ot

1 个不稳定版本

0.1.0 2021年4月8日

#1428数据结构

Download history 31/week @ 2024-04-08 16/week @ 2024-04-15 28/week @ 2024-04-22 47/week @ 2024-04-29 23/week @ 2024-05-06 39/week @ 2024-05-13 48/week @ 2024-05-20 33/week @ 2024-05-27 26/week @ 2024-06-03 26/week @ 2024-06-10 30/week @ 2024-06-17 48/week @ 2024-06-24 13/week @ 2024-07-08 29/week @ 2024-07-15 33/week @ 2024-07-22

每月80次下载
用于 2 个crates(通过triangulate

MIT/Apache

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
    • 还包括 *_mutreplace_*take_* (仅 Zot)的变体。
  • 一些在处理两个值时没有明显对应的功能不包括在内(例如 zip)。
  • map 需要一个 FnMut 参数而不是 FnOnce,因为函数可能需要被调用两次。

依赖项

~165KB