这三个表达式都应该工作(根据 @dnolen 在 IRC 中的说法)
user> (match/match [5] [((:or 5 6) :as x)] x) CompilerException java.lang.RuntimeException: 无法在当前上下文中解析符号:x user> (match/match [5] [(:or (5 :as x) (6 :as x))] x) 5 user> (match/match [5] [(:or (5 :as x) (6 :as y))] x) CompilerException java.lang.RuntimeException: 无法在当前上下文中解析符号:x
(第一个对我来说是有意义的,但后两个不足为奇;例如,在最后一个例子中,{{y}} 应该是 {{null}},还是其他什么?)
尽管这不必要,但下面的“糖化”形式如果能工作就更好了
user> (match/match [5] [(:or 5 6 :as x)] x) CompilerException java.lang.RuntimeException: 无法在当前上下文中解析符号:x