1 个不稳定版本

使用旧的 Rust 2015

0.1.2 2017年6月28日

#1765 in 数学

MIT/Apache

7KB
61

三值逻辑 — Rust 三值逻辑类型


基于 TriState 代码库。

一个与 Option<bool> 等效的三值类型

enum TriState {
    Yes,
    No,
    Unknown
}

使用此类型的好方法是通过领域特定类型别名,例如 pub use。由于 一些原因,简单的 typedef 风格的类型别名不起作用,尽管这种 Rust 限制最终将被移除。例如,一个垃圾邮件分类器

extern crate tristate;

pub use tristate::TriState as Spam;

trait Classify {
    fn classify(&self) -> Spam;
}

impl Classify for Message { /* ... */ }

// ...

match message.classify() {
    Spam::Yes     => /* ... */,
    Spam::No      => /* ... */,
    Spam::Unknown => /* ... */
}

无运行时依赖