本文へスキップ
BecomeCoder

Rubyコース · 第2章 条件分岐と繰り返し · レッスン7

比較と論理演算子 ― nilとfalseの扱い

ブラウザで完結

導入

条件式の中身をもっと自由に組み立てられるように、比較演算子と論理演算子、そして Ruby 独特の「真偽の扱い」を見ていきます。

説明

比較には > < >= <= == != が使えます。複数の条件を組み合わせるには &&(かつ)、||(または)、!(否定)を使います。

puts 3 > 2
puts 3 == 3
puts 3 != 2
puts (3 > 2) && (5 > 4)
puts (3 > 2) || (5 < 4)
puts !(3 > 2)

Ruby では、nil(値がないことを表す特別な値)と false だけが「偽」として扱われます。0""(空文字列)は「真」として扱われる点が、他の言語と違うので注意しましょう。

x = nil
puts x.nil?
if x
  puts "trueとして扱われる"
else
  puts "falseとして扱われる"
end

y = 0
if y
  puts "0はtrue扱い"
end

やってみよう

y の値を 0 から falsenil に変えて、if y の結果がどう変わるか確かめましょう。&&|| を組み合わせた条件も試してみてください。

演習

a = 10b = 20 として、a > 5 && b > 15 が成り立つかどうかを puts で表示してください(結果は true)。

ヒント1を見る

puts a > 5 \&\& b > 15 と書きます。

ヒント2を見る

&& は両方とも真のときだけ true になります。

実際に動かしてみよう

下のエディタにRubyを書いて「実行」を押すと、学習用シミュレータが puts / print / p の出力を表示します(本物のRubyではなく、教材の範囲を再現した軽量な自作エンジンです)。配列・ハッシュ・ブロック(each/map/select)・メソッド・クラス・モジュール・例外なども動きます。本文の例を書き換えて動かしてみましょう(gem・Rails・ファイル入出力など一部の機能は対象外です。文字列を伸ばすときは str << も可能ですが、変数に反映されるのは str += です)。

Ruby — ブラウザ内で実行(学習用シミュレータ)

Rubyの教材サブセットを動かす学習用シミュレータを読み込みます(本物のRubyではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。