(match
[[1 2 3]]
[(:or [_ _ 2]
[3 _ _])] :a0
[(:or [_ _ 1]
[1 _ _])] :a1
:else :else)
=> :else
이 첫 번째 스 니펫에서 나는 그것이 :a1
을 반환 할 것으로 기대했습니다.이것은 clojure.core.match 버그입니까? 아니면 나입니까?
이상한.
이 작동 :
(match
[[1 2 3]]
[(:or [_ _ 2]
[1 _ _])] :a0
[(:or [_ _ 1]
[3 _ _])] :a1
:else :else)
=> :a0
이가 예상되는 동작인가?
이것은 매우 흥미로운 질문이었고, 나는 당신과 같은 결론에 도달했습니다. 문서는 다음과 관련된 의도를 명시 적으로 나타내지는 않습니다. 그러나 스칼라 값에서만 작동하는 것처럼 보입니다. –