タプル
Swift ではタプル (tuple) というものがあります。
Tuple を使うと複数の変数をまとめ上げたり、 ひとつの変数に簡単にわかりやすい意味を与えたりすることができます。
タプルは ( と ) で括って指定します。具体例がないとわかりにくいと思いますので、さっそく、例をみてみましょう。
次の例では、タプルを使って person というひとつの変数に、"Ichiro" という値と 30 という値を割り当てています。
var person = ("Ichiro", 30)
print( person.0 )
print( person.1 )
それぞれの値には、ゼロベースのインデックスでアクセス可能です。person.0 が "Ichiro" という String を、person.1 が 30 という Int を保持します。
実行結果は次の通りです。
Ichiro 30
また、次のようにそれぞれの値にラベルをつけることも可能です。
var person = (name: "Ichiro", age: 30)
print( person.name )
print( person.age )
上記の場合 person がタプルになります。
タプルから値を代入する場合は、次のように記述できます。
var person = ("Ichiro", 30)
print( person.0 )
print( person.1 )
var ( a, b ) = person
print( "a = \(a)" )
print( "b = \(b)" )
実行結果は次の通りです。
Ichiro 30 a = Ichiro b = 30
もしここで age の値が不要である場合は、アンダースコアを利用して次のように記述できます。
var person = ("Ichiro", 30)
print( person.0 )
print( person.1 )
var ( a, _ ) = person
print( "a = \(a)" )
またタプルを用いて、配列やディクショナリからも値とインデックス(もしくはキー)を受取ることができます。