Mic*_*ahl 1 clojure clojure.spec
制作地图或记录规范的方式是否比官方规范指南中的方式更简洁?
(defrecord Person [first-name last-name email phone])
(s/def ::first-name string?)
(s/def ::last-name string?)
(s/def ::email ::email-type)
(s/def ::person (s/keys :req-un [::first-name ::last-name ::email]
:opt-un [::phone]))
Run Code Online (Sandbox Code Playgroud)
理想情况下,如果我能写出像这样的东西会很好
(defrecord Person [first-name last-name email phone])
(s/def ::person (s/keys :req-un [:first-name string?
:last-name string?
:email ::email-type]
:opt-un [:phone]))
Run Code Online (Sandbox Code Playgroud)
Clojure团队有意识地决定单独指定值和键集(您可以阅读此讨论以获得更长的解释).你的建议被认为是clojure.spec中的一种反模式,故意不可能.
如果您想要单语句嵌套结构规范,最好使用Plumatic Schema.
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |