2个版本
0.0.2 | 2023年3月1日 |
---|---|
0.0.1 | 2023年2月25日 |
#1294 in 算法
13KB
231 行
Ish
有时你想比较某物是true还是false,但你更感兴趣的是它是否是true-ish或false-ish。
无论如何,感谢Rust强大的能力来重写连字符运算符,这里就是——Ish库,移植到Rust。
首先,你需要一个true-ish或false-ish的值。你可以很容易地使用连字符-
运算符得到它。一旦你有了它,你可以将它与布尔值、字符串和整数进行比较
use ish::ish;
// Any non-zero integer is considered to be true-ish, and not false-ish.
1 == true-ish // true!
1 == false-ish // false!
0 == true-ish // false!
0 == false-ish // true!
// The word "true" in various different forms is true-ish:
"true" == true-ish // true!
"TRUE" == true-ish // true!
"yes" == true-ish // true!
"👍" == true-ish // true!
"not true" == true-ish // false!
"snooker" == true-ish // false!
// And the word "false" in various different forms is false-ish:
"false" == false-ish // true!
"FALSE" == false-ish // true!
"no" == false-ish // true!
"Norway" == false-ish // true! - it's an Easter egg 😈
"👎" == false-ish // true!
"ferrets" == false-ish // false!
Result::Ok
和Option::Some
值被认为是true-ish
,而Result::Err
和Option::None
值被认为是false-ish
。
历史
很久以前,我写了一个名为ish的Python库,并在EuroPython上做了关于它的演讲。人们喜欢它。好吧,实际上他们讨厌它,但他们认为它很有趣。
无论如何,我最近写了很多Rust,突然想到我可以把ish移植到Rust
待办事项
还有更多。
你不会喜欢的。
贡献
到目前为止,代码都是我的错。
非常感谢@[email protected]建议“不”和“挪威”应该是false-ish
。
依赖关系
~10KB