配列とタプル

Swiftを使っているときに引数で

Intという2次元配列の型ともう一つ[(Int),(Int)]という型があってこの型なんだ。2次元配列ではないのかと少し戸惑ったので。
 
最初は同じだと思ったのですけど普通にエラー出ましてね。違う物だということを認識しました。
 
配列は普通に配列で要素は基本同じ型です。
(Swiftでは異なる型を入れることができますがその時はAny,AnyObjectになるので使う時キャストしなくてはいけなくてなかなか面倒です。)
配列は
let Array = [3,4,5]
2次元だと
let Array2 = [[3,4],[2,0],[9,1]]
のような感じで配列は値を並べてその値をまとめて扱うのですが、
タプルは配列と違い違う型でも一つにまとめることができます。
let tape = ("ジュース",100,0.08)
また要素にアクセスするには
tape.0  // ジュース
tape.1 //100
のようにして . もちいることでアクセスすることができます。
 
 
各要素にラベルを付けることもできます。
let tape = (name:"ジュース",value:100,tax:0.08)
アクセスの仕方
tape.name //ジュース
tape.value //100
 
またタプルはそれ自身に型があり値の一つとして扱われるので関数の引数にも扱えます。
func testFunction(taple:[(Int,Int)){  }
 
ざっと書くとこんなもんでしょう。
タプルはC言語でいう構造体のようなものだと思っておくと良いでしょう。
 
ベクトルとか要素は2つ以上あるけれどそれ自身はひとつであるとかいう量に使っていけばいいのかな?