clojure기초

clojure 변수 선언

코딩조무사 2017. 10. 21. 14:19

함수형 언어라도 극단적으로 재귀만 사용하지 않는 이상 

내부적으로 선언되어 사용할수 있는 변수정도는 선언할 수 있다 

let 키워드로 사용한다


사용법은 let [변수이름, 값, .....] 


1
2
3
(defn foo []
      (let [a 0]
           (println a)))
cs



함수 foo 안에서

변수 a를 0으로 선언한다음 그 a를 바로 출력한다 



1
2
3
(defn foo []
      (let [a 0 b 1 c 2]
           (println a)))
cs


여러개 선언 시에는 이름, 값이 =이나 : 같은 구분자로 구분하지 않고 

공백으로 구분하다보니 보기 힘들수도 있다 



1
2
3
4
(defn foo []
      (let [a (+ 1 2) b 1 c 2]
           (println a)
           (println c)))
cs
d

a = 3

b = 1

c = 2


값 할당에 함수가 들어갈 수 있다보니 가독성이 좀 까다로울 수도 있는데 

복잡한 식에는 변수 1개 선언 마다 한줄을 추가하여 넣는게 낫겠다