Tuples group a few related values without defining a new type.

Name grouped values

quantity
tuple_records.swift
Replay: real traced execution (multi-file project)
let quantity = 3
let item = (name: "markers", quantity: quantity, price: 2)
let subtotal = item.quantity * item.price
let summary = "\(item.name): \(subtotal)"

print(summary)
let quantity = 1
let item = (name: "markers", quantity: quantity, price: 2)
let subtotal = item.quantity * item.price
let summary = "\(item.name): \(subtotal)"

print(summary)
let quantity = 6
let item = (name: "markers", quantity: quantity, price: 2)
let subtotal = item.quantity * item.price
let summary = "\(item.name): \(subtotal)"

print(summary)
  1. quantity ← 3, item ← (name: "markers", quantity: 3, price: 2)

    1let quantity→ 3 = 3  //@quantity=1, 62let item→ (name: "markers", quantity: 3, price: 2) = (name: "markers", quantity: quantity3, price: 2)3let subtotal→ 6 = item.quantity3 * item.price24let summary→ markers: 6 = "\(item.namemarkers): \(subtotal6)"56print(summarymarkers: 6)
    outputmarkers: 6
  1. quantity ← 1, item ← (name: "markers", quantity: 1, price: 2)

    1let quantity→ 1 = 12let item→ (name: "markers", quantity: 1, price: 2) = (name: "markers", quantity: quantity1, price: 2)3let subtotal→ 2 = item.quantity1 * item.price24let summary→ markers: 2 = "\(item.namemarkers): \(subtotal2)"56print(summarymarkers: 2)
    outputmarkers: 2
  1. quantity ← 6, item ← (name: "markers", quantity: 6, price: 2)

    1let quantity→ 6 = 62let item→ (name: "markers", quantity: 6, price: 2) = (name: "markers", quantity: quantity6, price: 2)3let subtotal→ 12 = item.quantity6 * item.price24let summary→ markers: 12 = "\(item.namemarkers): \(subtotal12)"56print(summarymarkers: 12)
    outputmarkers: 12

Read the Tuple Fields

  1. item groups a name, quantity, and price.
  2. quantity is 3.
  3. price is 2.
  4. item.quantity * item.price gives 6.
  5. The summary is markers: 6. | Field | Value | | --- | --- | | name | markers | | quantity | 3 | | price | 2 |
tuples Tuple labels make short grouped values readable. Access fields with dot syntax such as `item.name` or `item.quantity`.

Exercise: tuple_records.swift

Create a tuple item, compute its subtotal, and print a name-plus-total summary