Menu
CoddyTech

範囲指定を用いた switch 文

CoddyのSwiftジャーニー「基礎」セクションの一部。レッスン 30/86。

個別の値ではなく範囲を使うと、switch文はさらに強力になります。これは、点数を成績に変換するように、数値をグループに分類するのに最適です。

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は各ケースを順番に確認し、最初に一致したケースを実行します。スコアは85なので、80..<90の範囲内にあり、「B」が出力されます。この方法は、比較演算子を使った複数のelse if条件を書くよりもずっとすっきりしています。

challenge icon

チャレンジ

簡単
年齢範囲に基づいてライフステージのカテゴリーを返す、getAgeCategory関数を作成してください。この関数はageを受け取ります。

範囲を使った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 {
    // ここにコードを書いてください
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Swiftプレイグラウンド