Oppinions on map vs collect

I've been using collect in all my programs up till now, and I recently discovered that the map function is equivalent. My question is, (and I know that it really doesn't matter), which is more correct to use if you're trying to stick to doing things ruby's way? What do people on this newsgroup generally prefer using?

Thanks in advance for you oppinions.

I prefer map, since to me that's what it does.

Smalltalk (the granddaddy of ruby) has a method called 'collect'
that does the same thing.

···

On 05/12/05, Gary Watson <pfharlock@yahoo.com> wrote:

I've been using collect in all my programs up till now, and I recently
discovered that the map function is equivalent. My question is, (and I
know that it really doesn't matter), which is more correct to use if
you're trying to stick to doing things ruby's way? What do people on
this newsgroup generally prefer using?

Thanks in advance for you oppinions.

--
Rasputin :: Jack of All Trades - Master of Nuns
http://number9.hellooperator.net/

Gary Watson wrote:

I've been using collect in all my programs up till now, and I recently discovered that the map function is equivalent. My question is, (and I know that it really doesn't matter), which is more correct to use if you're trying to stick to doing things ruby's way? What do people on this newsgroup generally prefer using?

Thanks in advance for you oppinions.

I usually use #map if I want to collect the return values generated from calling a method with each item in the enumerable as an argument:

   results = arr.map { |item| process(item) }

I use #collect when I want to collect attributes from each item in the enumerable:

   names = contacts.collect { |contact| contact.name }

This is just what seems logical to me; I'm not aware of any real convention on the matter, though it may be a good idea.

Cheers,
Daniel

Daniel Schierbeck wrote:

Gary Watson wrote:

I've been using collect in all my programs up till now, and I recently discovered that the map function is equivalent. My question is, (and I know that it really doesn't matter), which is more correct to use if you're trying to stick to doing things ruby's way? What do people on this newsgroup generally prefer using?

Thanks in advance for you oppinions.

I usually use #map if I want to collect the return values generated from calling a method with each item in the enumerable as an argument:

  results = arr.map { |item| process(item) }

I use #collect when I want to collect attributes from each item in the enumerable:

  names = contacts.collect { |contact| contact.name }

This is just what seems logical to me; I'm not aware of any real convention on the matter, though it may be a good idea.

Cheers,
Daniel

Heh, I could've written that a lot clearer, but I'm way too wasted to do so.

I like that convention. Assuming that it's too late for Matz to
re-purpose either function name, I'll start using that myself.

Thanks,

Matt

···

On 05/12/05, Daniel Schierbeck <daniel.schierbeck@gmail.com> wrote:

I usually use #map if I want to collect the return values generated from
calling a method with each item in the enumerable as an argument:

   results = arr.map { |item| process(item) }

I use #collect when I want to collect attributes from each item in the
enumerable:

   names = contacts.collect { |contact| contact.name }

--
Matt Mower :: http://matt.blogs.it/

Matt Mower wrote:

···

On 05/12/05, Daniel Schierbeck <daniel.schierbeck@gmail.com> wrote:

I usually use #map if I want to collect the return values generated from
calling a method with each item in the enumerable as an argument:

   results = arr.map { |item| process(item) }

I use #collect when I want to collect attributes from each item in the
enumerable:

   names = contacts.collect { |contact| contact.name }

I like that convention. Assuming that it's too late for Matz to
re-purpose either function name, I'll start using that myself.

Thanks,

Matt

--
Matt Mower :: http://matt.blogs.it/

Muahahaha, my evil plan to take over the world has begun! Soon, all will bow to my will and... wait, is this on? Crap!

Too late, there are already evil programmers:
http://netevil.org/wiki.php?PlansForWorldDomination

Regards,
Jason
http://blog.casey-sweat.us/

···

On 12/5/05, Daniel Schierbeck <daniel.schierbeck@gmail.com> wrote:

Muahahaha, my evil plan to take over the world has begun! Soon, all will
bow to my will and... wait, is this on? Crap!

Jason Sweat wrote:

···

On 12/5/05, Daniel Schierbeck <daniel.schierbeck@gmail.com> wrote:

Muahahaha, my evil plan to take over the world has begun! Soon, all will
bow to my will and... wait, is this on? Crap!

Too late, there are already evil programmers:
http://netevil.org/wiki.php?PlansForWorldDomination

Regards,
Jason
http://blog.casey-sweat.us/

God damn it! There's always someone who's thought of doing everything before me!

But does his plan include pickles and nude photographs of Jon Steward, huh?! I don't think so!! Muahahahahahahaha!!!

Evil Cheers,
Dr. Daniel "Gates" Schierbeck