评论由:dnolen 发布
(match [x] [^Foo {.-bar 5 .-baz 7}] :a0 [^Foo {.-bar _ .-woz 8}] :a1 :else :a2)
鉴于最近 ClojureScript 属性访问讨论,这似乎是一种可以接受的高性能属性访问语法。
或许
(match [^Foo x] [{.-bar 5 .-baz 7}] :a0 [{.-bar _ .-woz 8}] :a1 :else :a2)
但可能不行,因为我们可能需要抛出一个异常,如果有人尝试在该行中声明不同的类型。