Chris and Chris Thanks
On Wed, Jan 7, 2009 at 9:09 AM, Christophe Grand <christo...@cgrand.net>wrote: > > janus a écrit : > > It can't figure out why this is not working or was I sleeping while > > trying it out. > > > > (apply #(println %) [2 3]) > > > This line is equivalent to (#(println %) 2 3) which errors since > #(println %) takes only one argument. > user=> (macroexpand '#(println %)) > (fn* [p1__3493] (println p1__3493)) > > Depending on what you were trying to achieve, you could have written: > (apply println [2 3]) ; same as (println 2 3) > (apply #(println %) [2 3] nil) ; same as (#(println %) [2 3]) or > (println [2 3]) > (map #(println %) [2 3]) ; roughly equivalent to [(#(println %) 2) > (#(println %) 3)] or [(println 2) (println 3)] > (map println [2 3]) ; roughly equivalent to [(println 2) (println 3)] > (doseq [i [2 3]] (print i)) ; same as (do (println 2) (println 3)) > > > And, why is it that I can't do this? > > > > Instead of (let [{coin :coin :as snake}{...................}][coin > > snake]) > > I tried this (let [{:coin coin :as snake}{...................}][coin > > snake]) and got failure. Why is it so?(just changed the position of > > the key :coin) > > > See http://clojure.org/special_forms#toc4 "Map binding-forms [...] > consists of a map of binding-form-key pairs." > coin :coin is a binding-form-key pair while :coin coin is > key-binding-form pair. > Some pairs start with a keyword (:as, :or, :keys, :strs and :syms) but > they have a special meaning. > > Hope this helps. > > Christophe > > > > --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---