0Pricing
Swift Academy · レッスン

三項条件演算子

2つの値から簡潔に一方を選択します。

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

三項演算子とは

三項条件演算子は、条件に基づいて2つの値のどちらかを選択します。形式はcondition ? valueIfTrue : valueIfFalseです。

単純なif/elseを簡潔に書く方法です。

let isMember = true
let price = isMember ? 8 : 12
print(price)

読み方

三項演算子は、次のような質問として読みます。「条件はtrueですか。そうなら最初の値を使い、そうでなければ2番目の値を使います。」

let temperature = 30
let message = temperature > 25 ? "Hot" : "Mild"
print(message)

if/elseを置き換える

if/elseの両方の分岐で値を代入している箇所では、三項演算子を使って同じ処理を1行で書けます。

let count = 0
let status = count == 0 ? "Empty" : "Has items"
print(status)

printで三項演算子を使う

三項演算子は値を生成する式なので、printのような関数呼び出しの中で直接使えます。

let hour = 14
print(hour < 12 ? "Morning" : "Afternoon")

数値の三項演算子

三項演算子は数値を含む任意の型で使えます。ここでは、条件に基づいて割引額を選択します。

let quantity = 12
let discount = quantity >= 10 ? 5 : 0
let total = quantity * 2 - discount
print(total)

両方の分岐を同じ型にする

三項演算子の両方の結果値は、同じ型でなければなりません。一方の分岐でStringを返し、もう一方でIntを返すことはできません。

let pass = true
let grade = pass ? "Pass" : "Fail"
print(grade)

Boolを結果とする三項演算子

三項演算子はBoolを生成することもできます。ただし、Boolだけを扱う論理では、通常は演算子を使うほうが明確です。

let level = 3
let unlocked: Bool = level >= 3 ? true : false
print(unlocked)

計算した条件を使う

条件には、&&や||を使った組み合わせを含む、任意のBool式を指定できます。

let age = 17
let hasPermit = true
let canDrive = (age >= 18 || hasPermit) ? "Yes" : "No"
print(canDrive)

文字列補間で三項演算子を使う

文字列補間の中に三項演算子を埋め込んで、文中で使用する単語を選択できます。

let apples = 1
let word = apples == 1 ? "apple" : "apples"
print("You have \(apples) \(word)")

変数に代入する

よくある使い方は、何らかの入力に基づいて変数の初期値を計算することです。

let isDark = true
var background = isDark ? "black" : "white"
print(background)
background = "gray"
print(background)

関数から三項演算子を返す

関数は三項演算子の式を直接返すことができるため、本体を1行に保てます。

func label(for score: Int) -> String {
    return score >= 50 ? "Pass" : "Fail"
}
print(label(for: 72))
print(label(for: 30))

確認問題

三項演算子についての知識を確認してください。

まとめ: 三項演算子

三項演算子のcondition ? a : bは、2つの値のどちらかを選択する簡潔な式です。両方の分岐は同じ型である必要があり、printや文字列補間、return文の中で便利に使えます。

let online = false
print(online ? "Connected" : "Offline")

よくある質問

「三項条件演算子」レッスンは無料ですか?

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

「三項条件演算子」で何を学びますか?

2つの値から簡潔に一方を選択します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

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

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

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

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

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

  1. Bool値と式
  2. 三項条件演算子
  3. ネストした三項演算子を避ける
  4. Booleanメソッドと切り替え
← Swift Academyに戻る