这三个表达式都应该能工作(根据 @dnolen 在 IRC 的说法)
user> (match/match [5] [((:or 5 6) :as x)] x) CompilerException java.lang.RuntimeException: Unable to resolve symbol: x in this context 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: Unable to resolve symbol: x in this context
(第一个对我来说是有意义的,但后两个没有;例如在最后一个例子中,{{y}} 是否应该是 {{nil}},或者其他东西?)
虽然这不是必需的,但如果以下“简化”形式也能工作那就更好了
user> (match/match [5] [(:or 5 6 :as x)] x) CompilerException java.lang.RuntimeException: Unable to resolve symbol: x in this context