On Wed, Oct 15, 2008 at 1:09 PM, Graham Fawcett <[EMAIL PROTECTED]> wrote: > > On Wed, Oct 15, 2008 at 8:21 AM, Jim Menard <[EMAIL PROTECTED]> wrote: >> >> On Wed, Oct 15, 2008 at 7:46 AM, Timothy Pratley >> <[EMAIL PROTECTED]> wrote: >>> >>> Can I get some help with (map f coll)... >>> >>> What I want to do is map a java function that takes 2 arguments over a >>> list >>> where the first argument is the index into the list itself >>> and the second argument is taken from the list >>> >>> The problem being map uses a function of 1 argument. >>> Does that mean I need to create my own map, or is there a better way? >> >> map can take more than one argument. If it has N arguments, it calls f >> with N arguments, each taken from the Nth value of each collection. So >> you should be able to pass in an infinite sequence like this UNTESTED >> code: >> >> (map f coll (range (count coll))) > > Rather than (range (count coll)), I would use (iterate inc 0), which > incurs no overhead for counting the argument.
You're right; that's better. I'm a Clojure newbie, so I appreciate learning the faster/smaller/more idiomatic way to do things. Jim -- Jim Menard, [EMAIL PROTECTED], [EMAIL PROTECTED] http://www.io.com/~jimm/ --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---