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

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -