clojure
core.match와의 패턴 일치
수색…
비고
core.match
라이브러리는 게으른 패턴 일치에서 "필요성"이라는 개념을 사용하는 패턴 일치 컴파일 알고리즘을 구현합니다.
일치하는 리터럴
(let [x true
y true
z true]
(match [x y z]
[_ false true] 1
[false true _ ] 2
[_ _ false] 3
[_ _ true] 4))
;=> 4
벡터 일치시키기
(let [v [1 2 3]]
(match [v]
[[1 1 1]] :a0
[[1 _ 1]] :a1
[[1 2 _]] :a2)) ;; _ is used for wildcard matching
;=> :a2
지도 매치
(let [x {:a 1 :b 1}]
(match [x]
[{:a _ :b 2}] :a0
[{:a 1 :b _}] :a1
[{:x 3 :y _ :z 4}] :a2))
;=> :a1
문자 그대로의 기호 맞추기
(match [['asymbol]]
[['asymbol]] :success)
;=> :success
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow