我正在尝试将可追溯性纳入我的 specs 中。
(当我说“specs”时,我指的是 s/def
和 s/fdef
块。)
最初,我提出了使用元数据来实现的这个想法。然而,遗憾的是这是不可能的:下面的代码会给我带来语法错误... (元数据只能应用于 IMetas。
)
(require
'[clojure.spec.alpha :as s])
(s/def
^{:rule "205.3i"
:version "2020.06.01"}
::basic-land-type #{::forest ::island ::mountain ::plains ::swamp})
我能想到的唯一其他方法是在文件的某个地方(比如说,一个 def
)作为“护法”元素附着元数据。
但这看起来相当糟糕...
(def
^{:rule "205.3i"
:version "2020.06.01"}
tracing-info "(see metadata)")
谁知道我可以用什么方法实现这个目的?