clojure - 如何指定自定义指定地图的矢量
问题描述
我有一个名为 的自定义地图的规范,::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 ???)
解决方案
您可以使用tuple
:
(s/def ::grid (s/tuple ::cell ::cell ::cell))
或coll-of
指定种类和数量:
(s/coll-of ::cell :kind vector? :count 3)
推荐阅读
- node.js - 安装后节点显示不同的版本
- python - 使用 Python 从元素中获取数据
- node.js - Chartist 在 Node / express 应用程序中未定义错误
- php - 当我从硬编码的下拉列表中选择值时,它不会选择值并且不会将其发送到数据库中
- javascript - 将多个值(数组)输出到 HTML 时不显示 JSON 值
- ruby-on-rails - Webhook:如何在我的视图中显示响应
- python - 从python中的列表中创建降序值的子列表
- html - mat-tab-label 禁用键盘交互
- javascript - 如何在我的反应原生应用程序中添加 NativeBase 页脚?
- php - 根据 url 将 laravel 应用程序与数据库连接