in Clojure

Clojure – ~@ unquote splicing macro에 대해서

~@ unquote splicing macro에 대해서
unquoute splicing macro에 대해서 이해하기 위해서는 먼저 unquote macro에 대해서 알아야한다.

unquote splicing macro는 ~@로 기록하도록 하겠다.

~@는 form에 있는 심볼들을 모두 평가하기 위해 사용된다.

예제를 통해서 이해해보도록 하자.


user> (def three-and-four (list 3 4))

'user/three-and-four

위와 같이 심볼을 하나 만들었다.

그리고 그저 ~unqoute 로만 평가를 했을 때

user> `(1 ~three-and-four)
(1 (3 4))

위와 같이 평가된다.

여기서 unqoute splicing macro를 이용하여 폼 안에 있는 모든 심볼을 평가하고 싶을 때 아래와 같이 사용할 수 있다.


user> `(1 ~@three-and-four)
(1 3 4)

이상으로 unqoute macro와 unquote splicing macro에 대해서 알아보았다.

Write a Comment

Comment