VesselWheel

Tuple Decomposition 본문

Xcode Study

Tuple Decomposition

JasonYang 2023. 10. 16. 14:39

import UIKit

 

/*

 Tuple Decomposition

 

 */

 

let data = ("<html>", 200, "OK", 12.34)

 

/*

let body = data.0

let code = data.1

let message = data.2

let size = data.3

*/

 

let(body, code, message, size) = data

print("body :",body)

print("code :",code)

print("message :",message)

print("size :",size)

 

let(body2, code2, message2, _) = data

print("body2 :",body2)

print("code2 :",code2)

print("message2:",message2)

print("----------------------")

 

// tuple matching

 

// let resolution = (3840.0, 2160.0)

let resolution = (1920.0, 1080.0)

if resolution.0 == 3840 && resolution.1 == 2160{

    print("4K 화질")

}

 

switch resolution{

    // value binding 으로 16:9 해상도 매칭하기

case let(w, h) where w / h == 16.0 / 9.0:

    print("16 : 9")

    // wildcard pattern

    // 높이와 관계없이 가로만 1080 인 해상도

case(_, 1080):

    print("1080p")

    // interval matching

case(3840...4096, 2160):

        print("4K")

    default:

        break

}

 

 

 

 

 

 

 

 

'Xcode Study' 카테고리의 다른 글

Foundation String  (1) 2023.10.16
String / Character  (0) 2023.10.16
tuple  (0) 2023.10.16
값 캡쳐하기 : capturing values  (0) 2023.10.16
Closure  (0) 2023.10.16