タプル
CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 68/86。
配列は同じ型の複数の値を格納しますが、時には、異なる型のいくつかの関連する値をグループ化する必要がある場合があります。そこでタプルが役に立ちます。
タプルは、異なる型を持つことができる値の固定されたコレクションです。値をカンマで区切り、括弧の中に入れることで作成します:
let person = ("Alice", 25, true)
print(person) // ("Alice", 25, true)個々の値にアクセスするには、ドットに続けてインデックスを使用します:
let coordinates = (10.5, 20.3)
print(coordinates.0) // 10.5
print(coordinates.1) // 20.3可読性を高めるために、要素に名前を付けることもできます:
let product = (name: "Laptop", price: 999.99)
print(product.name) // Laptop
print(product.price) // 999.99もう一つの便利な機能は、タプルを個別の変数に分解することです:
let point = (3, 7)
let (x, y) = point
print(x) // 3
print(y) // 7タプルは、完全な構造体を作成することなく、関数から複数の値を返したり、関連する少量のデータをグループ化したりするのに最適です。
チャレンジ
簡単3行の入力が与えられます:
- 名前 (String)
- 年齢 (Int)
- スコア (Double)
name、age、および score という名前付き要素を持つ student という名前のタプルを作成してください。
次に、そのタプルを studentName、studentAge、および studentScore という3つの個別の変数に分解してください。
以下の3行を出力してください:
- 名前付き要素を使用してアクセスした学生の名前
- インデックス(ドット記法と数値)を使用してアクセスした学生の年齢
- 分解されたスコア変数
例: 入力が Emma、21、および 95.5 の場合、出力は以下のようになります:
Emma
21
95.5チートシート
タプルは、異なる型を持つことができる値の固定されたコレクションです。括弧の中にカンマで区切った値を記述して作成します:
let person = ("Alice", 25, true)ドット記法を使用して、インデックスでタプルの要素にアクセスします:
let coordinates = (10.5, 20.3)
print(coordinates.0) // 10.5
print(coordinates.1) // 20.3可読性を高めるために、タプルの要素に名前を付けることができます:
let product = (name: "Laptop", price: 999.99)
print(product.name) // Laptop
print(product.price) // 999.99タプルを個別の変数に分解します:
let point = (3, 7)
let (x, y) = point
print(x) // 3
print(y) // 7自分で試してみよう
// 入力を読み込む
let name = readLine()!
let age = Int(readLine()!)!
let score = Double(readLine()!)!
// TODO: 以下にコードを記述してください
// 1. 名前付き要素(name、age、score)を持つ 'student' という名前のタプルを作成します
// 2. タプルを3つの個別の変数(studentName、studentAge、studentScore)に分解します
// 3. 名前付き要素(student.name)を使用して、学生の名前を出力します
// 4. インデックス表記(student.1)を使用して、学生の年齢を出力します
// 5. 分解されたスコア変数(studentScore)を出力しますこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。