Кортежи являются типами значений, и после их построения они не зависят от значений, которые являются их частью.
var a = 2
var b = 3
var t1 = (a, b)
print(t1) // (2, 3)
a = 4
print(t1) // (2, 3)
Таким образом, кортеж (a, b)
содержит действительные значения двух переменных, поэтому(b, a) = (a, b)
назначение работает без проблем. За кулисами фактическое присвоение (b, a) = (2, 3)
(при условии, что a
и b
имеют значения из приведенного выше фрагмента кода).