주제
Clojure 학습
목표
•
Clojure에서 # 이 무엇인지 안다
키워드
Clojure reader | #"regex" | #'symbol | #(+ % 1) |
#{1 2 3} | #inst "2023-09-17” | #uuid "uuid-string” | #_ |
## | |||
정리
# 는 Clojure 리더에게 특별한 처리가 필요하다가 신호를 보내는 문자이다
•
#’regex”
◦
정규식
◦
#"[A-Z]\w+”
•
#’symbol
◦
심볼이 가리키는 var 객체 자체를 참조
•
#(…)
◦
익명 함수
; anonymous function taking a single argument and printing it
(fn [line] (println line))
; anonymous function taking a single argument and printing it - shorthand
#(println %)
Clojure
복사
•
#{ … }
◦
집합 생성
◦
#{1 2 3}
•
#inst “날짜”
◦
#inst “2024-09-17”
•
#uuid
◦
#uuid “34e9bed9-b045-4b45-a774-45248246f1e4”
•
#_
◦
폼(form) 단위 주석
; 벡터에서 요소 하나 주석 처리
[1 2 #_3 4] ; [1 2 4]로 평가됨
; 함수 호출에서 인자 주석 처리
(+ 1 2 #_(* 3 4) 5) ; 8로 평가됨 (3*4가 무시됨)
; 중첩 구조에서 사용
(def config {:debug true
:server "localhost"
#_:port #_8080}) ; :port와 8080 모두 무시됨
Clojure
복사
•
##
◦
자동 생성 심볼
◦
매크로 내에서 유일한 심볼을 자동으로 생성
참조
다음 질문
clojure 쓰레딩 매크로