1 个不稳定版本
| 0.1.0 | 2019 年 9 月 19 日 | 
|---|
#272 在 无标准库
8KB
63 行
eh
将值转换为 bool,类似于 C,埃哈?
Eh 大约遵循 C 到 0 或 C++ 到 bool 的隐式转换规则,但 Rust 需要显式转换。整数 0、浮点数 0.0 和空指针是 false,所有其他值都是 true。
作为一个针对 Rust 的特定扩展,这也实现了 Option<T> 和 Result<T, E>。当 ? 操作符会展开一个 T 值时,它返回 true,而当 ? 会引发提前返回时,它返回 false。
排除项
Eh 不实现其他语言的布尔转换,特别是当它们不是普遍适用的时候。例如
- JavaScript 将 NaN 转换为 false,与 C 和 C++ (以及eh) 不同。
- JavaScript 将空的 []和{}转换为true,但在 Python 中它们是false。
- 许多语言将空字符串转换为 false,将非空字符串转换为true,但在 Perl 和 PHP 中"0"仍然是false。
关于
名字是对加拿大“埃哈”(eh)的戏谑,将陈述句变成了一个问题。
许可协议
本项目受以下任一许可协议的许可:
- Apache许可证,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则您提交给 eh 以供包含的贡献,如Apache-2.0许可证中定义的,应按上述方式双重许可,不附加任何额外条款或条件。