0Pricing
Ruby Academy · レッスン

if、unless、三項演算子

分岐の基礎です。

「if、unless、三項演算子」はCoddyKit上の無料Ruby Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはRuby Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ruby Academyコースには全4レッスンが含まれています。

分岐の基本

プログラムでは、判断を行う必要があります。Rubyでは、条件がtruthyの場合にだけ、ifキーワードがコードのブロックを実行します。

if式は条件を評価し、その条件が成立する場合は、ifとendの間にあるコードを実行します。

age = 20
if age >= 18
  puts "You are an adult"
end

if / else

条件がfalseの場合を処理するには、else分岐を追加します。実行される分岐は必ず1つだけです。

age = 12
if age >= 18
  puts "Adult"
else
  puts "Minor"
end

elsifチェーン

複数の条件を順番にテストするにはelsifを使います。Rubyは上から下へ条件を確認し、最初に一致した分岐を実行します。

  • つづりに注意してください。elseifやelse ifではなく、elsifです。
score = 75
if score >= 90
  puts "A"
elsif score >= 70
  puts "B"
elsif score >= 50
  puts "C"
else
  puts "F"
end

ifは式

Rubyでは、ほとんどすべてが値を返す式です。ifは実行された分岐の値を返すため、変数に代入できます。

age = 20
status = if age >= 18
  "adult"
else
  "minor"
end
puts status

修飾子if

短い1つの文には、行末にifを置きます。英語のように読めるうえ、Rubyらしい一般的な書き方です。

temperature = 35
puts "It is hot!" if temperature > 30

unlessを知る

unlessはifの反対です。条件がfalseの場合に本体を実行します。unless xはif !xと考えてください。

logged_in = false
unless logged_in
  puts "Please log in"
end

修飾子unless

ifと同様に、unlessも1行のコードに付ける末尾の修飾子として使えます。

stock = 0
puts "Out of stock" unless stock > 0

elseを伴うunlessは避ける

unlessにはelseを付けられますが、すぐに読みにくくなります。両方の分岐が必要な場合は、通常のifを優先してください。

active = false
unless active
  puts "Inactive"
else
  puts "Active"
end
# Clearer as a normal if/else

三項演算子

三項演算子は、1つの値を扱う簡潔なif/elseです。構文はcondition ? value_if_true : value_if_falseです。

age = 20
label = age >= 18 ? "adult" : "minor"
puts label

文字列内の三項演算子

三項演算子は文字列の埋め込みの中で特に便利です。完全なif/elseをきれいに収められない場合に使えます。

count = 1
puts "You have #{count} item#{count == 1 ? "" : "s"}"

使い分け

簡単な指針を示します。

  • 一般的な分岐にはif / elsif / elseを使います。
  • 自然に読める単一の否定条件にはunlessを使います。
  • 2つの単純な値から選ぶには三項演算子を使います。

巧妙さよりも、常に読みやすさを優先してください。

n = 7
parity = n.even? ? "even" : "odd"
puts "#{n} is #{parity}"

クイックチェック

分岐についての理解度を確認します。

まとめ

Rubyの分岐の道具について学びました。

  • if / elsif / elseは、truthyかどうかに基づいてコードを実行します。
  • ifは値を返す式です。
  • 修飾子形式(do_x if cond)は、短い1行の処理に適しています。
  • unlessはif !です。明確な否定条件に使います。
  • 三項演算子? :は、2つの値から簡潔に選択します。
grade = 88
result = grade >= 60 ? "pass" : "fail"
puts "Result: #{result}"

よくある質問

「if、unless、三項演算子」レッスンは無料ですか?

はい。「if、unless、三項演算子」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ruby Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ruby Academyコースには全4レッスンが含まれています。

「if、unless、三項演算子」で何を学びますか?

分岐の基礎です。 ブラウザで直接実行するハンズオンコードでRuby Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ruby Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのRuby Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「if、unless、三項演算子」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このRuby Academyレッスンでコードを書いて実行できますか?

はい。すべてのRuby Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. if、unless、三項演算子
  2. case/when 式
  3. Ruby の真偽値判定
  4. ガード節
← Ruby Academyに戻る