範囲指定を用いた switch 文
CoddyのSwiftジャーニー「基礎」セクションの一部。レッスン 30/86。
個別の値の代わりに範囲を使うと、switch文はさらに強力になります。これは、scoreをgradeに変換するなど、数値をグループに分類するのに最適です。
let score = 85
switch score {
case 90...100:
print("A")
case 80..<90:
print("B")
case 70..<80:
print("C")
case 60..<70:
print("D")
default:
print("F")
}... 演算子は両端点を含む閉区間を作成するため、90...100 は 90、91、そして 100 までのすべての値に一致します。..< 演算子は上限を除外する半開区間を作成します。80..<90 は 80 から 89 までに一致します。
Swiftは各caseを順番に確認し、最初に一致したものを実行します。scoreは85なので、80..<90の範囲に入り、「B」が出力されます。この方法は、比較演算子を使った複数のelse if条件を書くよりも、はるかにすっきりしています。
チャレンジ
簡単ageを受け取り、年齢範囲に基づいてライフステージのカテゴリを返す関数getAgeCategoryを記述してください。
範囲を使用するswitch文で、年齢を5つのライフステージのいずれかに分類してください。
条件:
0...2-"Infant"を返す3...12-"Child"を返す13...19-"Teenager"を返す20...64-"Adult"を返す65...120-"Senior"を返す- その他の値 -
"Invalid age"を返す
パラメーター:
age(Int): 人の年齢
戻り値: Stringとしてのライフステージカテゴリ
自分で試してみよう
func getAgeCategory(age: Int) -> String {
// ここにコードを書いてください
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Swiftプレイグラウンド