User Tools

Site Tools


tips:clojure:list-star

conj는 앞에 시퀀스가 온다.
cons는 뒤에 시퀀스가 온다.

(conj [1 2 3] 4)
;=> [1 2 3 4]
(cons 4 [1 2 3])
;=> (4 1 2 3)

conj는 여러 개의 추가 요소를 받을 수 있다.
cons는 하나의 추가 요소만을 받을 수 있다.

(conj [1 2 3] 4 5 6 7)
;=> [1 2 3 4 5 6 7]
(cons 4 5 [1 2 3])
;>> ArityException Wrong number of args (3) passed to: core$cons ...

여러 개를 넣고 싶을 때는 cons를 다음과 같이 쓰면 되는데,

(cons 4 (cons 5 (cons 6 [1 2 3])))
;=> (4 5 6 1 2 3)

이럴 땐 list*를 쓰면 간편해 진다.

(listt* 4 5 6 [1 2 3])
;=> (4 5 6 1 2 3)
tips/clojure/list-star.txt · Last modified: 2019/02/04 14:26 (external edit)