Okay, we've traded a simple, extensible, easily used and self-documenting construct for YAKW and less self documenting code.
I often use
... my( $p, $i ) = 0; $p += $i while $i = 1+index $haystack, $needle, $i; ...
Sometimes, when debugging I need to see what is going on, so I wrap the code and add some debug:
... my( $p, $i ) = 0; do{ $p += $i; print "$p : $i, other stuff"; } while $i = 1+index $haystack, $needle, $i; ...
Once I'm done debugging, I can just comment out the print lines and I am back to where I was.
In p6, I will have to completely change the coding of the single line with modifier version of the loop to an alien and less clear construct when I need to debug, and convert it back once I have the logic correct. Or leave as that strangly Fortran IV-ish form:
my( $p, $i ) = 0; loop { $p += $i; last if $i = 1+index $haystack, $needle, $p; }
I know "LW is always right" and "LW is always right even when he is wrong", but on this I think he has never been more right.
In reply to Re^3: Useful uses of redo?
by BrowserUk
in thread Useful uses of redo?
by kvale
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |