Re: How to use defrecord getBasis to look up record instance field values

2018-12-03 Thread Matching Socks
To be clear: In the example, p1 is not an instance of Person. p1 is just a map. An actual record has (at least) all of the basis fields. user> (map->Person {:name "foo"}) #user.Person{:name "foo", :age nil, :company nil} user> (dissoc *1 :age) {:name "foo", :company nil} ;; not a record anymor

Re: How to use defrecord getBasis to look up record instance field values

2018-12-02 Thread Andy Fingerhut
Maybe you are looking for something like this? (map #(% p1) (map keyword (Person/getBasis))) keyword can take a symbol as argument, and return a corresponding keyword. Andy On Sun, Dec 2, 2018 at 8:31 PM wrote: > > defrecord Person [name age company]) > > (def p1 {:name "foo", :age 27, :compa

How to use defrecord getBasis to look up record instance field values

2018-12-02 Thread beginner . clojure
defrecord Person [name age company]) (def p1 {:name "foo", :age 27, :company :bar}) (map #(% p1) (keys p1)) ("foo" 27 :bar) user=> (map #(% p1) (Person/getBasis)) (nil nil nil nil) user=> (map #(class %) (Person/getBasis)) (clojure.lang.Symbol clojure.lang.Symbol clojure.lang.Symbol clojure.l