Tuples var str Hello let num 1000 var myTuple str num var myOtherTuple

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//======== Tuples
var str = "Hello"
let num = 1000
var myTuple = (str, num)
var myOtherTuple = (str, num, 12345, "Some text")
//это не кортеж(tuple), а словарь(dictionary)
var states = ["AZ":"Arizona", "CA":"California", "DE": "Delaware", "KY":"Kentucky"]
//но для его обработки мы используем кортеж(tuple)
for (abbr, fullname) in states {
println("\(abbr) is the abbreviation for \(fullname)")
}
//функция возвращает кортеж
func getCurrentSongAndDuration() -> (String, length:Int){
return("Moonlight in Vermont", 210)
}
//к конкретному значению кортежа можно обращаться по индексу через точку, либо по имени, если оно задано
let result = getCurrentSongAndDuration()
println("The song is \(result.0) and it's \(result.length) seconds long")
//еще один способ получить тот же рузультат
let (name1, length1) = getCurrentSongAndDuration()
println("The song is \(name1) and it's \(length1) seconds long")