Thanks Gary, it didn't cross my mind that i can use the # reader with the 
threading macro :)

On Tuesday, April 2, 2013 4:15:58 PM UTC+3, Gary Verhaegen wrote:
>
> And there's the threading macro : #(-> {:foo %}) 
>
> On 1 April 2013 07:12, Ryan <areka...@gmail.com <javascript:>> 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 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.


Reply via email to