4个版本

使用旧的Rust 2015

0.1.1 2016年10月18日
0.1.0 2016年10月13日
0.0.2 2016年10月13日
0.0.1 2016年10月13日

#domain-specific中排名第7

MIT/Apache

6KB

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 => /* ... */
}

lib.rs:

TriState crate提供了一个与 Option<bool> 等效的三值类型。它还提供了一些方便的方法来测试三值。

无运行时依赖