Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: Is it safe to append to the array you are iterating over

by toolic (Bishop)
on Mar 14, 2013 at 16:34 UTC ( #1023501=note: print w/ replies, xml ) Need Help??

Comment on Re: Is it safe to append to the array you are iterating over
Replies are listed 'Best First'.
Re^2: Is it safe to append to the array you are iterating over
by DrWhy (Chaplain) on Mar 14, 2013 at 16:55 UTC
    Right: "If any part of LIST is an array, foreach will get very confused if you add or remove elements within the loop body, for example with splice. So don't do that"

    Except in my case I found that if all you have is a single array as your loop list and you only modify it by push-ing new elements on to the end, the foreach in fact does not seem to get confused.

    My question is is this use case safe or was I lucky?

    Maybe the phrase 'in general' in the OP was too general. I am only asking about cases where the loop list consists solely of a single array.


    "If God had meant for us to think for ourselves he would have given us brains. Oh, wait..."

      I think that when the documentation says "don't do that", and you find that in a specific case it's not causing a problem, you're probably lucky by implementation, and not by guarantee. The behaviour may never change, but could change without notice.


Log In?

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (11)
As of 2016-02-09 21:32 GMT
Find Nodes?
    Voting Booth?

    How many photographs, souvenirs, artworks, trophies or other decorative objects are displayed in your home?

    Results (326 votes), past polls