Rubyの真偽値・nilとfalseだけが偽

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

PHPやPerlに慣れていると、数値の0(ゼロ)や空文字列が「偽(false)」と評価されるとして、プログラムを書きますね。
しかし、Rubyでは、数値の0や空文字列が「真」(true)と評価されます。
PHPとRubyで比べてみます。

スポンサーリンク

PHPの場合

$num = 0;
if ($num) {
    echo "0 is true";
} else {
    echo "0 is false";
}
 
echo "<br>";
 
$str = "";
if ($str) {
    echo "空文字列はture";
} else {
    echo "空文字列はfalse";
}

実行結果。

0 is false
空文字列はfalse

Rubyの場合

num = 0
if num
    puts "0 is true"
else
    puts "0 is false"
end
 
str = ''
if str
    puts "空文字列はture"
else
    puts "空文字列はfalse"
end

実行結果。

0 is true
空文字列はture

Rubyの場合、返された値が「nil」と「false」の場合にだけ、「偽」と評価されます。
裏を返すと、nilとfalse以外は、すべて真となります。

スポンサーリンク
 
スポンサーリンク