Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: using foreach

by thezip (Vicar)
on Jul 25, 2008 at 23:57 UTC ( #700256=note: print w/ replies, xml ) Need Help??


in reply to using foreach

Indeed, it is not a good idea to manipulate a stack unless you follow the specific interface that applies to a stack:

  1. A stack is like a stack of dishes in that you may only place items onto the top of the stack, and you may only pop items from the top of the stack.

  2. You must always check to see if the stack isEmpty() before attempting to pop.

  3. If desired, you may implement a sizeOf feature, and its purpose is to return the current number of items in the stack. (This count can be used to implement the isEmpty() function.)

In your code, I do not see any place where you check for the empty stack, so in another context (where it's not obvious that there are items on the stack), it would be a potential error to attempt to pop from a potentially empty stack.

While it is true that a "while loop" is would act in this capacity, you have used a "for loop", and should therefore check for empty prior to a pop.


Your wish is my commandline.


Comment on Re: using foreach

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (13)
As of 2014-11-25 22:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (160 votes), past polls