3 个版本

使用旧的 Rust 2015

0.1.3 2015 年 12 月 18 日
0.1.2 2015 年 12 月 18 日
0.1.0 2015 年 12 月 18 日

#5#unknown

46 每月下载次数

MIT 许可证

6KB
80

Kleene 逻辑在 Rust 类型系统内

Build Status License: MIT

值是 TrueFalseUnknown。操作有 NotBitAndBitOr,它们来自 std::ops。还有一个 Ternary 枚举,它在运行时表示值,以及一个 ToTernary 特性,它为我们的值类型添加了 to_ternary() 方法。

更多信息请参阅 API 文档

示例

SameNot

 use ternary::{True, False, Unknown, Same};
 use std::ops::Not;
type NotTrue = <<True as Not>::Output as Same<False>>::Output;
type NotFalse = <<False as Not>::Output as Same<True>>::Output;
type NotUnknown = <<Unknown as Not>::Output as Same<Unknown>>::Output;

将值转换为运行时,BitAndBitOr

assert_eq!(Ternary::T, <True as BitOr<<Unknown as 
    BitAnd<False>>::Output>>::Output::to_ternary());

要使用它,请将 ternary = "0.1.0" 添加到您的依赖项中。

无运行时依赖项

功能