2

根据我在网上阅读的文献,除了 false 和 nil 之外,Ruby 中的所有内容都评估为 true。我试图找出这可能有什么好处?谢谢

4

4 回答 4

7

我将在检查用户是否输入值时总结这一优势。

PHP:

if($somevalue !== null) { # '' and '0' are falsy.

红宝石:

if somevalue
于 2012-04-13T23:46:59.763 回答
5

它使该语言的真值概念非常简单——唯一被认为是“假”的东西是在逻辑上确实代表“否”答案的东西:假本身和 nil,它代表“虚无”的概念。在像 Ruby 这样的语言中,我发现很难争论让更多的值变得虚假,除非它只是为了让有其他语言经验的人感觉更熟悉。

(顺便说一句,我也认为 C 的真值模型非常简单:如果某物等于零,则为假。但在 Ruby 中,我们主要处理对象而不是数字,这会使false真值!)

于 2012-04-13T23:53:24.557 回答
1

它使大多数逻辑语句更易于阅读。(写下来,但我认为这不那么重要。)

于 2012-04-13T23:56:44.247 回答
0

Ruby 中的一切都是对象。这是一个体面的阅读

于 2012-04-13T23:46:16.457 回答