Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Re: When would you choose foreach instead of map?

by rjray (Chaplain)
on May 21, 2004 at 00:05 UTC ( [id://355136]=note: print w/replies, xml ) Need Help??


in reply to Re: When would you choose foreach instead of map?
in thread When would you choose foreach instead of map?

Sorry, but I just cannot agree, or even let this lay unchallenged. map and foreach are indeed different operations, as others have pointed out to great clarity. And the reason they are both in the language is because of their differences, not their similarities.

map is largely key to the "Schwartzian Transform". It not only produces a list as a side-effect (which foreach doesn't), it can produce very elaborate transformations of the input in the process. map is not hideous simply because someone doesn't understand it as well as foreach. Indeed, for those of us with a Lisp background, it's immediatly intuitive.

--rjray

Replies are listed 'Best First'.
Re: Re: Re: When would you choose foreach instead of map?
by dragonchild (Archbishop) on May 21, 2004 at 13:11 UTC
    It not only produces a list as a side-effect (which foreach doesn't), ...

    What on earth are you smoking?!? The entire point of map is to produce a list. The list production isn't a side-effect ... it's the whole effect. Modifying the original list is a side-effect.

    ------
    We are the carpenters and bricklayers of the Information Age.

    Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

    I shouldn't have to say this, but any code, unless otherwise stated, is untested

      Wow, and here I thought the purpose of map was to evaluation the block or expression over the range of the list passed to it. Perhaps you thought that by "side-effect", I meant that the creation of the output list was an accidental, unintentional thing. No. I meant "side-effect" in the same sense that most people use it with regards to programming.

      I'm quite well aware of the differences between map and foreach, and the conditions under which you would choose one or the other. Try to take a less confrontational tone, it will usually get you better responsiveness from others.

      --rjray

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://355136]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2024-03-29 10:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found