2024 Clojure 状态调查! 中分享您的想法。

欢迎!请参阅 关于 页面了解有关此处的更多信息。

0
规范

如在此线程中所述 (https://groups.google.com/forum/#!topic/clojure/i8Rz-AnCoa8)
`s/keys`
不会验证其中提到的规范是否有效。

建议的解决方案是单独编写代码来检查注册表,并警告未声明的规范。此代码的草图可在 https://gist.github.com/stuarthalloway/f4c4297d344651c99827769e1c3d34e9 提供。

虽然这种方法总体上是好的,但我相信它不适用于包含 "keys" 规范的多规范。
`s/form`
在多规范上会返回该规范是多重规范(这是有意义的),但没有方法让客户端访问给定数据选择规范的工作方式。

这个代码草图的相关评论中提供了一个进一步的解决方案,但它依赖于
`resolve`
,因此它不会在 Clojurescript 上工作。

我认为
`s/form`
在此情况下表现正确,但拥有一个额外的函数,给定一个多重规范,可以返回一个函数或数据来探索当前实现,将是有用的。

1 答案

0
参考:https://clojure.atlassian.net/browse/CLJ-2294(由 bbrinck 报告)
...