2012-04-13 15 views
2

私がオンラインで読んでいる文献によると、Rubyではfalseとnil以外のすべてが真であると評価されています。私はこれにどのような利点があるのか​​を調べようとしていますか?ありがとうRuby - すべてが真と評価されます

+3

*持っていない*利点は何ですか?それは単なる言語設計の選択肢です。 – Ryan

答えて

0

Rubyのすべてがオブジェクトです。 Here's a decent read

+3

それは本当に助けにはなりません。 'false'もオブジェクトです - オブジェクトであるすべてが質問にどのように答えますか? (実際に尋ねる - 私はちょうど何かを明らかに欠けている可能性があります。) –

7

ユーザーが値を入力したかどうかを確認する際に、この利点を合計します。

PHP:

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

ルビー:

if somevalue 
5

それは真実の言語の概念は非常に簡単になります - 「偽」と考えられている唯一のものは、論理的に「ノー表していますものです"答え:"それは無し "の概念を表す、それ自体と無し。 Rubyのような言語では、他の言語で経験を積んだ人にもっと親しみを感じさせない限り、より多くの価値を偽って論じることは難しいです。

(ちなみに、私もCの真実のモデルはとてもシンプルだと思う:何かが0に等しいなら、それは偽物だが、数字ではなくオブジェクトを主に扱うRubyではfalse真実だ)

1

ほとんどのロジックステートメントを読みやすくします。 (そして書きますが、あまり重要ではないと考えています)