小编mme*_*mer的帖子

clojure 规范 - 验证地图的内容

我想为地图创建一个 clojure 规范,该地图具有有关特定键存在的规则。

地图必须有一个:type并且可以有一个:default:value两个但不能同时有。我试过:

(s/def ::propertyDef
  (s/keys :req [::type (s/or ::default ::value) ] :opt [::description ::required]))
Run Code Online (Sandbox Code Playgroud)

但我得到了

CompilerException java.lang.AssertionError: Assert failed:
    spec/or expects k1 p1 k2 p2..., where ks are keywords
    (c/and (even? (count key-pred-forms)) (every? keyword? keys)),
    compiling:(C:\Users\MartinRoberts\AppData\Local\Temp\form-init4830956164341520551.clj:1:22) 
Run Code Online (Sandbox Code Playgroud)

但是or给了我一个错误,因为它的格式错误。我不得不承认并没有真正理解s/or.

clojure clojure.spec

2
推荐指数
1
解决办法
1373
查看次数

标签 统计

clojure ×1

clojure.spec ×1