我们正在评估Prismatic/schema用于当前使用 Clojure 1.4 的项目。我们目前不希望在我们的项目中升级 Clojure。 Schema 需要 Clojure 1.5.1,但是 repl 中的一些基本测试没有显示 Clojure 版本更改为 1.4 时出现任何问题。
是否有其他人尝试过在 Clojure 1.4 上使用架构,效果如何?
这是我尝试过的(在project.clj中将Clojure更改为1.4.0之后):
(require '[schema.core :as s])
(require '[schema.macros :as sm])
(sm/defn foo ...)
(s/with-fn-validation (foo ...))
没问题。我注意到的一件事是模式测试在 Clojure 1.4 上完全崩溃(甚至无法运行)。我并不真正关心这一点,但我会关心项目功能是否存在实际问题。
最佳答案
据我所知,Schema 在 1.4 中应该可以正常工作。测试失败是因为它们使用了标记协议(protocol)(没有方法),而 1.4 不喜欢这样——但 Schema 本身并不依赖于这个功能。我验证了在 ATestProtocol 添加虚拟方法后,所有 Schema 测试当前都在 Clojure 1.4.0 下通过。
我不想 promise future 支持 1.4,但如果您发现任何问题或错误,请告诉我们,我们将看看我们能做些什么。正如 Jared 上面指出的那样,Google 网上论坛可能是解决此类问题更合适的地方。
关于clojure - Clojure 1.4 上的棱柱模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18996781/