Hi Alex, That works perfect! I've another (possibly stupid) question. If I want this to work with your macro:
(def abc ["a" "b" "c"]) (def-name abc a) How could I get that to work? Thanks, --anders Den tisdagen den 23:e juli 2013 kl. 09:48:18 UTC+2 skrev Alex Baranosky: > > Hi Anders, > > (defmacro def-name [name-vec & body] > `(let ~(vec (interleave (map symbol name-vec) > name-vec)) > ~@body)) > > user=> (macroexpand '(def-name ["a" "b" "c"] 1 2 3)) > (let* [a "a" b "b" c "c"] 1 2 3) > > user=> (def-name ["a" "b" "c"] a) > "a" > user=> (def-name ["a" "b" "c"] b) > "b" > user=> (def-name ["a" "b" "c"] (str a b)) > "ab" > > Best, > Alex > > On Tue, Jul 23, 2013 at 12:18 AM, <eliass...@yahoo.com <javascript:>>wrote: > >> Hi, >> I want to write a macro that introduces new variables from data. >> The data is a vector and looks like this for example: ["a" "b" "c"] >> >> I want to use the macro like this: >> (def-names ["a" "b" "c"] (str a b)) >> >> What code I want the macro to produce from the above is the following: >> (let [a "a" >> b "b" >> c "c"] >> (str a b)) >> >> Is it possible to do that? >> Is it a good thing to do that or is it bad practice? >> >> Thanks >> --anders >> >> >> >> -- >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@googlegroups.com<javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+u...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.