我需要一个case宏的实现。无法使用原始的clojure实现,因为它在内部使用Java case语句。
http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/case
案例宏
用法:(案例e&条款)
我可以尝试自己构建一个宏,但它可能都是clojure。也许甚至有一种方法可以使用真正的js功能。
有人为此功能或宏吗?
答案 0 :(得分:5)
UPDATE:案例已添加到ClojureScript中。虽然我们无法提供性能保证,但便携性的好处更为重要。
案例涉及JavaScript中不可能的保证 - 文字上的常量时间分派。以下是否有任何理由不适合您?
(condp = x
...)