How to set default values for fields in records in Clojure? -
i creating records in clojure , set fields default value. how can this?
you can pass initial values record pretty when construct though extension map:
(defrecord foo []) (def foo (foo. nil {:bar 1 :baz 2})) in light of this, create constructor function merges in default values (which can override want):
(defn make-foo [values-map] (let [default-values {:bar 1 :baz 2}] (foo. nil (merge default-values values-map)))) (make-foo {:fiz 3 :bar 8}) => #:user.foo{:fiz 3, :bar 8, :baz 2}
Comments
Post a Comment