you can also use map destructuring. (defn x [{:keys [a b c]}] [a b c])
user=> (x {:a 1 :b 2 :c 3}) [1 2 3] On Fri, Feb 6, 2009 at 7:52 AM, Jeffrey Straszheim <straszheimjeff...@gmail.com> wrote: > That is remarkably simple and elegant. > > On Fri, Feb 6, 2009 at 10:20 AM, Stuart Sierra <the.stuart.sie...@gmail.com> > wrote: >> >> On Feb 6, 10:06 am, David Nolen <dnolen.li...@gmail.com> wrote: >> > Is there anything in core or contrib for parsing arguments to a >> > function? Since Clojure fns don't support optional args or even keyword >> > args, is there a standard set of helpers functions to do this? I looked >> > around but I didn't see anything obvious. >> >> No, but there is a pattern for keyword args: >> >> (defn my-function [& args] >> (let [options (apply hash-map args)] >> ...)) >> >> Then you can call (my-function :keyword value :keyword2 value). >> >> -Stuart Sierra >> > > > > > -- And what is good, Phaedrus, And what is not good— Need we ask anyone to tell us these things? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---