Ruby初心者の論理演算子入門
論理演算子の基礎
Ruby初心者が最初に直面する概念の一つが論理演算子です。論理演算子は真偽値(true と false)を操作し、条件分岐やループ制御に不可欠です。代表的な論理演算子には、論理積(AND)&&、論理和(OR)||、否定(NOT)!があります。また、キーワード形式のand、or、notも存在しますが、演算子の優先順位が異なるため注意が必要です。
論理積は両方が真である場合に真を返し、論理和は少なくとも一方が真であれば真を返します。否定は真を偽に、偽を真に反転させます。これらを組み合わせることで複雑な条件式を簡潔に表現できます。
Rubyでの論理演算子の使い方
Rubyでは演算子とキーワードの両方が使用できます。演算子は優先順位が高く、短絡評価(short‑circuit evaluation)が行われます。例えば、false && puts('実行されない') はputsが呼ばれません。一方、キーワードは優先順位が低く、短絡評価は行われません。false and puts('実行される') はputsが実行されます。
# 演算子版
if a && b
puts '両方真'
end
# キーワード版
if a and b
puts '両方真'
end
否定も同様に演算子とキーワードで表せます。!flag と not 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 を使う場合は優先順位に注意し、必要に応じて括弧で明示的にグループ化してください。
コメント
コメントを投稿