Menu
Coddy logo textTech

論理演算子 パート1

CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 16/88。

比較演算子を使用すると2つの値を比較できますが、複数の条件を一度にチェックする必要がある場合はどうすればよいでしょうか? 論理演算子を使用すると、ブール式を組み合わせて、より複雑な条件を作成できます。

&& 演算子(「and」と呼ばれます)は、両方の条件が true の場合にのみ true を返します。いずれかの条件が false の場合、式全体が false になります:

age = 25
has_license = true

age >= 18 && has_license  # true (両方の条件が真)
age >= 18 && false        # false (1つの条件が偽)

|| 演算子(「or」と呼ばれます)は、少なくとも1つの条件が true であるときに true を返します。両方の条件が false である場合にのみ false を返します。

is_weekend = true
is_holiday = false

is_weekend || is_holiday  # true (少なくとも一方が真)
false || false            # false (両方が偽)

&& はすべての条件が満たされる必要があるのに対し、|| は1つだけ満たされればよいと考えてください。これらの演算子は、ユーザーがログインしており、かつ権限を持っているかどうかの確認や、店舗が週末または祝日に営業しているかどうかの確認など、実世界のロジックを構築するために不可欠です。

challenge icon

チャレンジ

簡単

以下の変数が提供されています:

temperature = 22
is_sunny = true
has_umbrella = false
is_weekend = true
has_homework = false

&& および || 演算子を使用して、以下の式を評価し、それぞれを個別の行に表示してください:

  1. temperature20 より大きい かつ is_sunnytrue であるかを確認する
  2. is_sunnytrue または has_umbrellatrue であるかを確認する
  3. is_weekendtrue かつ has_homeworkfalse であるかを確認する
  4. temperature10 未満 または temperature30 より大きいかを確認する
  5. is_weekendtrue かつ is_sunnytrue かつ temperature20 以上であるかを確認する

各出力は true または false のいずれかである必要があります。

チートシート

論理演算子を使用すると、ブール式を組み合わせて、より複雑な条件を作成できます。

&& 演算子(「かつ」と呼ばれます)は、両方の条件が真である場合にのみ true を返します:

age = 25
has_license = true

age >= 18 && has_license  # true (両方の条件が真)
age >= 18 && false        # false (1つの条件が偽)

|| 演算子(「または」と呼ばれます)は、少なくとも1つの条件が真である場合に true を返します:

is_weekend = true
is_holiday = false

is_weekend || is_holiday  # true (少なくとも1つが真)
false || false            # false (両方が偽)

複数の論理演算子を連結することができます:

condition1 && condition2 && condition3  # すべてが真である必要がある
condition1 || condition2 || condition3  # 少なくとも1つが真である必要がある

自分で試してみよう

# 変数はすでに定義されています
temperature = 22
is_sunny = true
has_umbrella = false
is_weekend = true
has_homework = false

# TODO: 以下にコードを記述してください
# 式を評価するために && および || 演算子を使用してください
# 各結果を個別の行に出力してください

# 1. temperature > 20 かつ is_sunny が true かどうかを確認します


# 2. is_sunny が true または has_umbrella が true かどうかを確認します


# 3. is_weekend が true かかつ has_homework が false かどうかを確認します


# 4. temperature < 10 または temperature > 30 かどうかを確認します


# 5. is_weekend が true かつ is_sunny が true かかつ temperature >= 20 かどうかを確認します
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン