三項条件演算子
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フィードバックを取得できます。ローカル設定は不要です。