And there's the threading macro : #(-> {:foo %}) On 1 April 2013 07:12, Ryan <arekand...@gmail.com> wrote: > Thanks for your input guys > > Ryan > > > On Sunday, March 31, 2013 11:11:08 AM UTC+3, Alex Baranosky wrote: >> >> There's also 'for' >> >> (defn my-function [foo-id a-keyword a-list] >> (for [m a-list] >> {:foo_id foo-id (keyword a-keyword) (:BAR_KEY m)})) >> >> >> On Sun, Mar 31, 2013 at 12:57 AM, JvJ <kfjwh...@gmail.com> wrote: >>> >>> ...even cheezier, use do >>> #(do {:foo %}) >>> >>> >>> On Saturday, 30 March 2013 23:58:31 UTC-4, JvJ wrote: >>>> >>>> Here's a cheezy hack, use identity. >>>> >>>> #(identity {:foo %}) >>>> >>>> On Thursday, 28 March 2013 17:51:10 UTC-4, Ryan wrote: >>>>> >>>>> Thanks for your explanation Jonathan. I am still a bit confused however >>>>> what is the proper solution here. Should i use an anonymous function >>>>> instead >>>>> to do what I want or can it be done with the #() syntax? >>>>> >>>>> Hyphens is my preferred way as well, but, those keys represent sql >>>>> columns which they use underscore so I gotta go with underscores in order >>>>> code to match them :) >>>>> >>>>> Ryan >>>>> >>>>> On Thursday, March 28, 2013 11:24:38 PM UTC+2, Jonathan Fischer Friberg >>>>> wrote: >>>>>> >>>>>> It's because the #() syntax always calls the content as a function. >>>>>> >>>>>> So #(...) is the same as (fn [] (...)). In your case, >>>>>> #({:foo_id foo-id (keyword a-keyword) (:BAR_KEY %)}) >>>>>> is the same as: >>>>>> (fn [%] ({:foo_id foo-id (keyword a-keyword) (:BAR_KEY %)})) >>>>>> Note the extra () around {}. In other words, your map is called >>>>>> as a function. >>>>>> >>>>>> Maps can normally be called as functions, like this: >>>>>> ({:hello :world} :hello) >>>>>> => :world >>>>>> That's why you get the "Wrong number of args" error >>>>>> (and not a "a map is not a function" error). >>>>>> Hope that makes sense. >>>>>> >>>>>> Btw, hyphen is normally used instead of underscore >>>>>> in both variables and keywords. Just a slight style >>>>>> "issue", but maybe you had your reasons. :) >>>>>> >>>>>> Jonathan >>>>>> >>>>>> >>>>>> On Thu, Mar 28, 2013 at 10:16 PM, Ryan <areka...@gmail.com> wrote: >>>>>>> >>>>>>> Hello! >>>>>>> >>>>>>> I am having a small issue with a hash-map initialization and I am >>>>>>> failing to understand why. I have the following situation: >>>>>>> >>>>>>>> (def a-list '({:BAR_KEY bar-value}, {:BAR_KEY another-value})) >>>>>>> >>>>>>> >>>>>>>> (defn my-function [foo-id a-keyword a-list] >>>>>>>> >>>>>>>> (map #({:foo_id foo-id (keyword a-keyword) (:BAR_KEY %)}) a-list)) >>>>>>> >>>>>>> >>>>>>> So, by running the above function like this: >>>>>>> >>>>>>>> (my-function 5 "my_keyword" a-list) >>>>>>> >>>>>>> >>>>>>> I get the following error: >>>>>>> >>>>>>>> clojure.lang.ArityException: Wrong number of args (0) passed to: >>>>>>>> PersistentArrayMap >>>>>>> >>>>>>> >>>>>>> I am trying to get the following result: >>>>>>> >>>>>>> ({:foo_id 5 :my_keyword bar-value}, {:foo_id 5 :my_keyword >>>>>>> another-value}) >>>>>>> >>>>>>> Any ideas? I have played around in repl for the last 2 hrs but I >>>>>>> haven't found the proper way to do this. >>>>>>> >>>>>>> Thank you for your time :) >>>>>>> >>>>>>> -- >>>>>>> -- >>>>>>> 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 >>>>>>> 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 >>>>>>> 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. >>>>>>> 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 clo...@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+u...@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+u...@googlegroups.com. >>> 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. > >
-- -- 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.