안녕하세요:)
오늘은 튜플을 통해 두 개 이상의 값을 하나의 값으로 묶어서 처리하는 방법에 대해서 알아보도록 하겠습니다.
(expr1, expr2,...) // expr1 -> Tuple Member 튜플에 저장된 하나의 값은 Tuple Member라고 합니다.
var tuple = (20, "Hi", 12.34, "Hello")
tuple.0 // 20
tuple.1 // Hi
tuple.2 // 12.34
tuple.3 // Hello
tuple.0 = 400
let namedTuple = (number: 20, str: "Hi", point: 12.34)
namedTuple.0 // 20
namedTuple.number // 20
namedTuple.str // Hi
namedTuple.point // 12.34
let (name1, name2, ...) = tupleExpr
var (name1, name2, ...) = tupleExpr
let (number, str, point) = namedTuple
let resolution = (3840.0, 2160.0) // 해상도
if resolution.0 == 3840 && resolution.1 == 2160 {
print("4K")
}
switch resolution {
case (3840, 2160):
print("4K")
default:
break
} // 결과는 동일합니다.
// Interval 매칭도 가능합니다.
switch resolution {
case let(w, h) where w / h == 16.0 / 9.0:
print("16:9")
case (_, 1080):
print("1080p")
case (3840 ... 4096, 2160):
print("4K")
default:
break
}
// 코드가 단순해지고, Value Binding을 사용할 수 있습니다.