Logo

Programming-Idioms

  • Smalltalk
  • Java

Idiom #131 Successive conditions

Execute f1 if condition c1 is true, or else f2 if condition c2 is true, or else f3 if condition c3 is true.
Don't evaluate a condition when a previous condition was true.

if (c1) {
   f1();
} else if (c2) {
   f2();
} else if (c3) { 
   f3();
}
if (c1) f1();
else if (c2) f2();
else if (c3) f3();
true caseOf: {
  [c1] -> [f1].
  [c2] -> [f2].
  [c3] -> [f3]}
if c1 then
    f1;
elsif c2 then
    f2;
elsif c3 then
    f3;
end if;

assume that f, g, and h are procedure and that a and b are Boolean

New implementation...
< >
programming-idioms.org