Hi all, I want to make a hash-map where the value of one key depends on the values of other keys in the hash-map. Is there a way to do this, without needing an external reference to the hash-map?
{:a 1 :b 2 :c #(+ :a :b)} Similarly, when filling a struct, I often want to refer to the bits I already have filled in. I solve that now by just embedding the (struct mything.. in a let, and just use the serial nature of let to calculate for example c from a and b. Is there a way that while filling a struct I can refer to it? I would like to do this (defstruct virus :epitopes :mutations :viral_load) (def myvirus (struct virus 3 5 (+ (* 0.1 :epitopes) (* 0.2 :mutations)))) Instead of (defstruct virus :epitopes :mutations :viral_load) (let [epitopes 3 mutations 5 viral_load (+ (* 0.1 epitopes) (* 0.2 mutations))] (def myvirus (struct virus epitopes mutations viral_load)) As you can see there is some room for being more concise and compact if you can refer to keys in the same hash-map or struct, even if the hash-map / struct is still being constructed. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en