스탠포드 스위프트 강의 2편 중

꽤 오래전부터 네이티브를 회피하며 폰갭따위를 뒤지고 있었다. 하지만 그쪽도 만족스럽지는 않아서, 결국은 앱 개발 기술에 대해서는 거의 공부를 하지 않게 되어버렸다. 그럴싸한 무언가가 나오기를 기다렸지만 cocoa touch나 android sdk 를 배우는게 훨씬 빠를 듯 하다.

얼마전에 안드로이드 개발관련 블로그를 보고 조금 따라해보면서 그쪽 감각을 살짝이나마 맛봤었고, 오늘은 스탠포드의 스위프트 동영상을 보고있다. 수염이 하얀 아저씨가 간단한 계산기 만드는 과정을 가지고 강의를 진행하신다.

동영상을 보던 중, 까먹을까봐 캡쳐해서 올려둔다.  (동영상 링크 : https://youtu.be/QLJtT7eSykg?t=34m47s 34분47초부터 이 신공은 시작된다.)

코드가 안남아있고, 캡쳐이미지만 있습니다

1. performOperation 은 “함수”를 인자로 받는다. 함수는 “더하기/빼기/곱하기/나누기” 등의 처리를 하는 함수들이다.

2. multiply 함수 자체를 인자로 전달하는 대신, 함수의 본체를 인자로 주는 문법이 스위프트에는 있다.

3. op1, op2 가 Double임이 확실하므로 생략할 수 있다.

4. 인자의 이름을 생략하고, 첫번째인자/두번째인자 라고 표시하는 문법이 있다.

5. 인자중에 함수가 맨 뒤에 있는  경우에는 () 뒤쪽에 {} 를 쓸 수 있다.

6. 다른 인자가 없다면 ()를 생략해도 된다. 끝.

함수를 (클로저를) 인자로 전달하는 다른 언어들과 비슷한 모양이 되었다.