in reply to Re^4: An iterator for (not "iterating") a recursive data structure.
in thread An iterator for (not "iterating") a recursive data structure.

... OK, I'll have to seriously train myself to use that idiom.

  • Comment on Re^5: An iterator for (not "iterating") a recursive data structure.

Replies are listed 'Best First'.
Re^6: An iterator for (not "iterating") a recursive data structure.
by LanX (Saint) on Jul 09, 2019 at 10:37 UTC
    To be fair, the semi predicate problem will still show up if you want an empty array to be a valid return value.

    But there are ways to fix it:

    • return an array ref hence a scalar
    • throw an exception via die and catch it with eval block (or better Try::Tiny )
    • do a goto to an external label named FINISHED or similar (totally undervalued option)

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

      Are you you talking about iterators that return a possibly empty list of items? Just have it return an array reference!

        Lol ...

        See first bullet point.

        Cheers Rolf
        (addicted to the Perl Programming Language :)
        Wikisyntax for the Monastery FootballPerl is like chess, only without the dice