Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Re: Why Doesn't each() DWIM?

by enoch (Chaplain)
on May 27, 2004 at 21:15 UTC ( #357058=note: print w/replies, xml ) Need Help??


in reply to Re: Why Doesn't each() DWIM?
in thread Why Doesn't each() DWIM?

Yea.

I am just wondering if there is a reason Perl won't do it for me? Why isn't there a little Do What I Mean in there.

Is there a technical reason why that piece of DWIMmery would be considered harmful at some edge case?

Replies are listed 'Best First'.
Re: Re: Re: Why Doesn't each() DWIM?
by duff (Vicar) on May 27, 2004 at 21:46 UTC
    Perl already does what I mean in this case. If it did what you wanted, my expectations would be violated. Also, let's say that at the end of a loop the iterator on each() was reset, how would you get the behavior where it wasn't reset when you need it?
      how would you get the behavior where it wasn't reset when you need it?

      ++

      Good point

Re: Re: Re: Why Doesn't each() DWIM?
by jepri (Parson) on May 27, 2004 at 21:34 UTC
    Is there a technical reason why that piece of DWIMmery would be considered harmful at some edge case?

    I can think of one. Whether it is right or not is another matter :)

    There would be times when you wanted to return to your position in the hash. If the iterator (or hashkey pointer) was reset everytime the program left a control loop, you would have to save it in a variable and then restore it each time you went into another control structure.

    I don't see this as being a bad thing - other languages do it like this. I also don't know why it wasn't done this way rather than the way it currently is.

    Having said that, I have found this to be a problem before, but some careful data structure design worked around it just fine.

    ____________________
    Jeremy
    I didn't believe in evil until I dated it.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://357058]
help
Chatterbox?
[james28909]: but then you have the others as well
[Lady_Aleena]: Renaming things like get_THAC0 to just THAC0 was easy. These are harder.
[james28909]: consolidate the three subs into one
[Lady_Aleena]: Um, what?
[james28909]: check is is data or hash or array and do tasks then return needed data
[Lady_Aleena]: james28909, you might want to look at the other two on my scratchpad.
[james28909]: after you send to a sub, you can check if it is array or ref ect with ref

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2017-05-24 04:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?