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
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>
等效的三值类型。它还提供了一些方便的方法来测试三值。