维基百科 解释说我们可以包含一个从无限定键到属性的映射
此外,您也可以包含一个从无限定键到属性或属性名的映射
[::a ::b {:c (s/spec int?)}]
但是为这些属性创建的生成器在尝试解析属性时失败
(require '[clojure.alpha.spec :as s]) (require '[clojure.alpha.spec.gen :as gen]) (s/def ::a string?) (s/def ::b string?) (gen/generate (s/gen (s/schema [::a ::b {:c (s/spec int?)}])))
返回以下错误
> 执行错误 (IllegalArgumentException) 在 clojure.alpha.spec.protocols/eval1957$fn$G (protocols.clj:11).
没有实现协议:#'#clojure.alpha.spec.protocols/Spec 的方法::gen* 类型的类:clojure.lang.PersistentList