Collections
Tuple Records
Tuples group a few related values without defining a new type.
Name grouped values
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)
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
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
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
itemgroups a name, quantity, and price.quantityis3.priceis2.item.quantity * item.pricegives6.- 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