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以外は、すべて真となります。
■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/381