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

目前尚无语法来处理这种集合和映射的交错排列,但我们承认这是常见的,并已就此进行了讨论,但尚未确定其外观如何。因此,待定。

...