私がオンラインで読んでいる文献によると、Rubyではfalseとnil以外のすべてが真であると評価されています。私はこれにどのような利点があるのかを調べようとしていますか?ありがとうRuby - すべてが真と評価されます
2
A
答えて
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
ほとんどのロジックステートメントを読みやすくします。 (そして書きますが、あまり重要ではないと考えています)
*持っていない*利点は何ですか?それは単なる言語設計の選択肢です。 – Ryan