Today I found myself writing
do A if possible, else do B if possible, else error
English that is.
But it caused me to think about Perl's Postfix if
statement if condition;
versus
if( condition ) {code} [[elsif(cond) {code}]* else {code}]
i.e.
if( condition ) {code}
if( condition ) {code} else {code}
if( condition ) {code} elsif(cond) {code} else {code}
etc.
Strange to many programming languages, but sometimes makes conde more readable.
I wonder if the posifix if woth else, that I wrote in English, might be worth thinking about.
Syntactically it is a ternary operator:
operand1 IF operand2 ELSE operand3
I vaguely recall disjoint operator and function syntax - Algol 68? or was it Algol 60? - ...
VHDL can do this:
ReplyDeletesome_signal <= some_value when some_condition_is_true else some_other_value;
and even
some_signal <=
some_value when some_condition_is_true else
some_other_value when some_other_condition_is_true else
some_default_value;