엘프의 외계어 배우기

Clojure 배우기

by 김지영입니다

경고 : 제목에 대해서 딴지 걸지 마시오!!!


Clojure 배우기 세 번째 강의의 15분까지 따라하기를 정리해 보았다. 이번 강의부터는 외계어가 많아 한 번에 정리하기는 어려울 듯 하다. 전체 강의는 여기에서 확인할 수 있다.


튜링머신은 인간이 기계처럼 생각하는 것이고

람다대수는 기계가 인간처럼 생각하는 것이다.


여기서 말하는 인간은 아마도 수학자일 것이라고 김종민님은 말씀하셨다. 그건 앨런 튜링도 수학자이고, 람다 대수의 창시자인 알론조 처치도 수학자이기 때문이라고... 이 부분에 대해서는 나중에 다시 논의해 보기로 하자.


본격 Clojure 배우기를 시작해보자. 우선, 함수를 호출할 때 괄호 안에 함수명 + 인자로 실행한다.

Screen Shot 2015-11-12 at 4.07.54 PM.png

'symbol을 하나 받고 doc-string을 추가해 주고 초기값을 집어 넣을 수도 있다.'라는 의미이다. ?가 있는 것은 생략도 가능하다는 뜻이다.

a라는 symbol을 만들어 보겠으며 초기값은 1이다.

#’ —> var의 약자이다.

위 코드에서 a는 앞에서 만들었던 a와는 다른 것이다. a라는 변수를 새롭게 정의하는 것이다.

* 클로저는 대입문이 없다.


함수란?

0개 이상의 입력을 받아서 하나의 결과를 반환


함수를 호출해보자. 수학식에서 f(x) = 2 * x를 Clojure로 표현하면 (fn [x] (* 2 x))와 같다.

그리고 Clojure로 표현된 함수를 y로 정의해서 간단하게 만들어보자.


여기까지(초반 15분) 듣고 질문...

Screen Shot 2015-11-13 at 4.01.21 PM.png
Screen Shot 2015-11-13 at 4.01.34 PM.png
Screen Shot 2015-11-13 at 4.01.49 PM.png
Screen Shot 2015-11-13 at 4.02.08 PM.png

질문 후 더욱 멘붕에 빠집니다.

sticker sticker
Screen Shot 2015-11-13 at 4.02.41 PM.png
Screen Shot 2015-11-13 at 4.03.12 PM.png
Screen Shot 2015-11-13 at 4.03.30 PM.png
Screen Shot 2015-11-13 at 4.03.45 PM.png

외계인들이 최대한 외계어를 쓰지 않고 설명한 답변이었습니다. 푸하하하하하~~~

작가의 이전글엘프의 외계어 배우기