What comes to mind immediately is that you would lose the ability to `break` unless you had another convention like returning a specific value to indicate you want to break.
Re:Go + Services = One Goliath Project
by lesserknowndan on Sunday December 22, 2019 @04:16AM
(#21856098)
If you are limited to one statement you could still do something along the lines of the following (no particular language):
foreach ( $item in $list )
{
if ( 1 == some_function( $item ) )
{
continue;
}
else
if ( 2 == some_function( $item ) )
{
break;
}
else
{
another_function( $item );
}
}
But I would immediately concede that it is starting to miss the entire point of why it was enforced in the first place...
Re:Go + Services = One Goliath Project
by joshuamorton on Saturday December 21, 2019 @11:36PM
(#21855205)
I actually like this style (or similar if not quite as extreme). I find it's much clearer what's going on.
I've sometimes wondered whether code would be universally clearer if all you could do in a loop is have a one-liner or call another function/method (mainly when looking at my own code within loops and thinking WTF!!!).
Would probably cause issues when teaching programming though. It would be interesting to have a compiler switch that enforced this...