タプル

タプルは、複数の値を一組にしたものです。配列と似ていますが、配列と違って異なる型の値をまとめることができます。但し、後から要素を追加したり削除することはできません。

配列にも異なる型を入れることができますが、その場合、各要素の型はAnyやAnyObjectとなり、各要素を演算等で使用する場合にキャスト(型変換)が必要になります。タプルの要素はそのまま演算にも使用することができます。

タプルは次の様に各要素を,(カンマ)区切りで並べ、"("と")"で括って記述します。値を参照する時は変数名の後に頭から順に0から始まる番号をつけます。


let item = ("ジュース", 100, 0.08, 108)
print("商品名=\(item.0), 税抜き価格=\(item.1)円, 消費税=\(item.2 * 100)%, 税込み価格=\(item.3)円")
// 商品名=ジュース, 税抜き価格=100円, 消費税=8.0%, 税込み価格=108円

タプルの各要素を別々の変数に受け取ることもできます。


let (name, price, tax, priceWithTax) = ("ジュース", 100, 0.08, 108)
print("商品名=\(name), 税抜き価格=\(price)円, 消費税=\(tax * 100)%, 税込み価格=\(priceWithTax)円")

次の様にタプルにラベルをつけて参照することもできます。


let item = (name:"ジュース", price:100, tax:0.08, priceWithTax:108)
print("商品名=\(item.name), 税抜き価格=\(item.price)円, 消費税=\(item.tax * 100)%, 税込み価格=\(item.priceWithTax)円")