スキップしてメイン コンテンツに移動

Ruby初心者の論理演算子入門

Ruby初心者の論理演算子入門

論理演算子の基礎

Ruby初心者が最初に直面する概念の一つが論理演算子です。論理演算子は真偽値(truefalse)を操作し、条件分岐やループ制御に不可欠です。代表的な論理演算子には、論理積(AND)&&、論理和(OR)||、否定(NOT)!があります。また、キーワード形式のandornotも存在しますが、演算子の優先順位が異なるため注意が必要です。

論理積は両方が真である場合に真を返し、論理和は少なくとも一方が真であれば真を返します。否定は真を偽に、偽を真に反転させます。これらを組み合わせることで複雑な条件式を簡潔に表現できます。

Rubyでの論理演算子の使い方

Rubyでは演算子とキーワードの両方が使用できます。演算子は優先順位が高く、短絡評価(short‑circuit evaluation)が行われます。例えば、false && puts('実行されない')putsが呼ばれません。一方、キーワードは優先順位が低く、短絡評価は行われません。false and puts('実行される')putsが実行されます。

# 演算子版
if a && b
  puts '両方真'
end

# キーワード版
if a and b
  puts '両方真'
end

否定も同様に演算子とキーワードで表せます。!flagnot flag は同じ結果ですが、演算子の方が読みやすいケースが多いです。

実践例と注意点

以下は実際のコード例です。ユーザー入力を検証し、条件に応じてメッセージを表示します。

def valid_input?(input)
  return false if input.nil? || input.empty?
  input.match?(/\A\d+\z/) && input.to_i > 0
end

puts '数値を入力してください:'
user_input = gets.chomp

if valid_input?(user_input)
  puts "入力は有効です: #{user_input}"
else
  puts '無効な入力です。'
end

ポイントは、&&|| を使って複数条件を組み合わせることです。return false if のように短絡評価を活用すると、不要な計算を避けられます。また、not を使う場合は優先順位に注意し、必要に応じて括弧で明示的にグループ化してください。

この記事はAIによって作成されました。

コメント