2个版本

0.0.2 2023年3月1日
0.0.1 2023年2月25日

#1294 in 算法

MIT/Apache

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::OkOption::Some值被认为是true-ish,而Result::ErrOption::None值被认为是false-ish

历史

很久以前,我写了一个名为ish的Python库,并在EuroPython上做了关于它的演讲。人们喜欢它。好吧,实际上他们讨厌它,但他们认为它很有趣。

无论如何,我最近写了很多Rust,突然想到我可以把ish移植到Rust

待办事项

还有更多。

你不会喜欢的。

贡献

到目前为止,代码都是我的错。

非常感谢@[email protected]建议“不”和“挪威”应该是false-ish

依赖关系

~10KB