【发布时间】:2018-05-06 18:14:37
【问题描述】:
我很喜欢与clojure.spec 合作;它有助于发现更接近原因的数据错误。目前我正在使用它来验证对 Web 服务器请求的响应,但我在 clojure.spec 操作的语法上遇到了困难,该操作允许两种不同的地图结构响应。
在我的数据中,网络服务器请求有两种可能的响应:
{:assignment "1232123"} 和
{:no-more-assignments true}
我可以使用multi-spec,但这对于一些简单的事情来说似乎很冗长,例如为每种情况设置一个规范并将规范定义为:
(s/def ::response
(s/or ::case-1 ::case-2))
是否有一些我忽略的语法或者我需要使用multi-spec?
【问题讨论】:
-
为什么不能使用
or?
标签: clojure clojure.spec