#bool #conversion #convert #truthy

no-std eh

将值转换为 bool,类似于 C,埃哈?

1 个不稳定版本

0.1.0 2019 年 9 月 19 日

#272无标准库

MIT/Apache 许可协议

8KB
63

eh

Latest Version docs

将值转换为 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)的戏谑,将陈述句变成了一个问题。

许可协议

本项目受以下任一许可协议的许可:

由您选择。

贡献

除非您明确声明,否则您提交给 eh 以供包含的贡献,如Apache-2.0许可证中定义的,应按上述方式双重许可,不附加任何额外条款或条件。

无运行时依赖