我有一个名为::cell
的自定义地图的规范,
(s/def ::attr-1 int?)
(s/def ::attr-2 int?)
(s/def ::cell :req-un [::attr-1 ::attr-2])
现在,我想要另一个仅由这些::grid
映射组成的自定义矢量的规范::cell
。例如,网格可能看起来像这样:
(let grid [{:attr-1 11, :attr-2 12} {:attr-1 21 :attr-2 22}])
是否可以使用::cell
的规范为此要求创建规范?
(s/def ::grid ???)
答案 0 :(得分:2)
您可以使用tuple
:
(s/def ::grid (s/tuple ::cell ::cell ::cell))
或coll-of
指定种类和数量:
(s/coll-of ::cell :kind vector? :count 3)