clojure.specを使用すると、ネストされたマップの「人間が読める」仕様を定義する方法はありますか?以下は非常によく読まれていません。私の不満は、それが仕様を読むために(ER)硬くなることである clojure.spec人間が読める形ですか?
{:a {:c 1 :d "hello"} :b false}
(s/def ::my-domain-entity (s/keys :req-un [:a :b])
(s/def :a (s/keys :req-un [:c :d]))
(s/def :b boolean?)
(s/def :c number?)
(s/def :d string?)
をネストされたマップや深い構造のものがあれば...ファイルを上下にキーを追いかけているので、 "インプレース"宣言ではありません。比較するため
スキーマのようなものが密接に実際のデータ形状を反映し、より読みやすいネストされた構文ができ、:
(m/defschema my-domain-entity {:a {:c sc/number :d sc/string} :b sc/bool})
をこれはclojure.specで行うことができますか?
同様の質問:https://stackoverflow.com/q/42054643 – glts