2024 年 Clojure 调查问卷 中分享您的想法!

欢迎!有关如何使用本站的信息,请参阅 关于 页面。

0
Spec

假设我有以下规范

(ns example
(:require [clojure.alpha.spec :as s]))

(s/def ::val int?)
(s/def ::inner (s/schema [::val]))

(s/def ::container (s/coll-of ::inner
                              :into []))

(s/def ::outer (s/schema [::container]))

如何使 s/select::container 总是位于 ::outer 中并且可以为空的情况下,如果它有元素 ::val 则必须存在。

例如,以下不应是有效的

[#:example{:container [{}]}]

1 答案

+1

目前尚无语法来处理这种集合和映射的交错,但我们认识到这是一个常见问题,我们已经讨论过它,但尚未确定其可能的外观。因此,待定。

...