TrollMaster, в свифте тож, но можно именовать значения:
CODE: Выделить всё
let user = (name: "tohdom", nick: "Loh")
print(user.name, user.nick)
А еще можно опускать аргументы в замыканиях/лямбдах (и return, если все влезает в одну строчку):
CODE: Выделить всё
let sqr = [1, 2, 3].map { value in
return value * value
}
// =>
let sqr = [1, 2, 3].map { $0 * $0 }
Ну и когда в коллекции кортежи начинаются приколы
CODE: Выделить всё
let array: [(Int, String)] = ...
let strings = array.map { String($0.0) + $0.1 }
// Но можно еще написать так:
let strings = array.map { String($0) + $1 }
// Бывает нужен индекс (тут уже после enumerated тип элемента это кортеж из индекса и значения, то есть (Int, (Int, String)) )
let strings = array.enumerated().map { "Index: \($0), value: \($1.0)-\($1.1)" }