글
안녕하세요~ 에르의 생각발전소입니다 :)
이번 시간에는 Tuple 과 Typealias를 다뤄볼 건데요.
스위프트의 장점이고 장점인 만큼 많이 활용되는 파트이니,
주의깊게 살펴봐주세요!
자! 그럼 시작해보겠습니다.
상수로된 튜플인 time1을 생성하였고 2, 43, 1 이란 값들을 괄호 묶었습니다. (사진의 오타는 애교로..)
2란 값을 불러오고자하면 0을 42이라는 값을 불러오고자하면 1을 쓰시면 됩니다.
대게 첫번째 숫자니 1부터 시작할거라 생각을 하시고 실수를 많이들 하시는데,
시작은 0 부터 입니다! 참고해주세요!
튜플의 값에는 플롯, 스트링, 섞여들어가도 무방한데요.
예로 하나 만들어보았습니다.
language라는 스트링 타입의 값과. 11이라는 정수값은 가진 값이 ex라는 튜플안에 속해있는 모습니다.
똑같이 0,1,2 순번으로 시작됩니다.
물론 0, 1, 2 대신 문자로 변경이 가능한데요.
위 화면은 0,1,2 대신 hour, min, sec 로 변환시킨 모습입니다.
상황에 맞게 바꾼다면, 더 유용하겠죠?
튜플을 튜플로 또 묶는 건데요.
각 3개의 값을 가지고 있는 두 개의 튜플을 하나의 다른 튜플로 묶은 코드입니다.
일종의 사슬을 만들어준다고나 할까요?
begin이 time1, done이 time2 를 가지고 있는 모습입니다.
그럼 묶여있는 값중 최하위 값을 불러오고 싶다~고 하시면
file:///Users/Logan/Desktop/Screen%20Shot%202016-04-22%20at%2011.05.56%20pm 이런 컴퓨터디렉토리 주소처럼
done에 있는 hour값을 불러야겠죠?
done.hour은!?
done = > time2
time2:( hour:Int, min:int, sec:int ) = ( 1, 51, 15 ) => hour => 1
이라는 값이 나오게되겠죠?
이번에는 타입 얼라이어스입니다!
위 화면은 타입 얼라이어스를 설명하는 글입니다.
typealias AudioSample = UInt16 이다.
var maxAmplitudeFound = AudioSample.min 이면, 0이다.
왜냐하면 UInt16의 최저값은 0이니까요.
이 처럼 타입 얼라이어스는 다른 이름으로 존재하는 값을 정의합니다.
time 이라는 타얼을 만들어 (h:int, m:int, s:int) 라는 타입을 정의하고
period 라는 타얼을 만들어 start:time, end:time으로 타입을 정의했습니다.
period 타얼 안에 time의 타입이 들어갔지요?
let now:period = ( (6,20,13) , (11,2,56) ) 로 start:time에 값을 주고 end:time에도 값을 각각 부여했습니다.
그럼 time이 start와 end로 된 period안에 들어가있고 start = 6,20,13이며, end는 11,2,56이네요.
print("we played a game until \(now.end.h) today. ") 라는 코드를 입력해
값을 불러오고자한다면, 추적해봅시다!
now = period, period = (start:time. end:time) , end:time = 11,2,56 = h:11 , m:2, s:56 = h ==> 11
이라는 결론에 도달하게 되는거죠!
이해가 되셨는지요!
쉽쥬?
'프로그래밍발전소 ♫' 카테고리의 다른 글
160505 Swift 구문편! if, for, switch 까지! (0) | 2016.05.06 |
---|---|
160505 Swift Collection: Dictionary 와 Set (0) | 2016.05.06 |
160424 collection Array 편 :) (2) | 2016.04.25 |
160419 Swift part.2 String과 Numbers에 대해서 (0) | 2016.04.20 |
160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편 (0) | 2016.04.19 |
RECENT COMMENT