記錄規格
你可以按如下方式對記錄進行規範:
(clojure.spec/def ::name string?)
(clojure.spec/def ::age pos-int?)
(clojure.spec/def ::occupation string?)
(defrecord Person [name age occupation])
(clojure.spec/def ::person (clojure.spec/keys :req-un [::name ::age ::occupation]))
(clojure.spec/valid? ::person (->Person "john doe" 25 "programmer"))
;;=> true
(clojure.spec/valid? ::person (->Person "john doe" "25" "programmer"))
;;=> false
在將來的某個時刻,可能會引入讀者語法或內建支援,以通過記錄的名稱空間來限定記錄鍵。這種支援已經存在於地圖中。