请在 2024 年 Clojure 状况调查中分享您的想法!

欢迎!有关本网站的工作原理,请参阅关于页面获取更多信息。

+1
Spec

关于 SHA "b29ae46" 的 Spec 2 中使用过程中遇到的一个错误。

(s/def ::special-name   
  (s/and string? #(clojure.string/starts-with? % "Special")))
(s/def ::schema-1    (s/schema [::special-name]))
(s/valid? ::schema-1 {::special-name "Special Person"})
;;=> true

(s/def ::name        ::special-name)
(s/def ::schema-2    (s/schema [::name]))
(s/valid? ::schema-2 {::name "Special Person"})
Execution error (IllegalArgumentException) at clojure.alpha.spec.protocols/eval5664$fn$G (protocols.clj:11).
No implementation of method: :conform* of protocol: #'clojure.alpha.spec.protocols/Spec found for class: clojure.lang.Keyword

1 答案

...