Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!

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();
}
switch (true) {
  case c1:
    f1();
    break;
  case c2:
    f2();
    break;
  case c3:
    f3();
    break;
}
c1 ? f1 : c2 ? f2 : f3
if c1 then
    f1;
elsif c2 then
    f2;
elsif c3 then
    f3;
end if;
if (c1)
{
    f1();
} 
else if (c2)
{
    f2();
}
else if (c3)
{
    f3();
}
(cond 
    c1 (f1)
    c2 (f2)
    c3 (f3))
IDENTIFICATION DIVISION.
PROGRAM-ID. condition.
PROCEDURE DIVISION.
    EVALUATE TRUE
	WHEN c1
	   PERFORM f1
	WHEN c2
	   PERFORM f2
	WHEN c3
	   PERFORM f3
    END-EVALUATE  
STOP RUN.
(c1 && (f1(), true))
 || (c2 && (f2(), true))
 || (c3 && (f3(), true));
if (c1)
{
    f1();
}
else if (c2)
{
    f2();
}
else if (c3)
{
    f3();
}
if (c1)
    f1();
else if (c2)
    f2();
else if (c3)
    f3();
if (c1)
{
    f1();
}
else if (c2)
{
    f2();
}
else if (c3)
{
    f3();
}
if      (c1) f1;
else if (c2) f2;
else if (c3) f3;
if (c1) {
  f1;
} else if (c2) {
  f2;
} else if (c3) {
  f3;
}
cond do
  c1 -> f1
  c2 -> f2
  c3 -> f3
end
if
	C1 -> f1();
	C2 -> f2();
	C3 -> f3()
end.
if (c1) then
  call f1
else if (c2) then
  call f2
else if (c3) then
  call f3
end if
switch {
case c1:
	f1()
case c2:
	f2()
case c3:
	f3()
}
if (c1) {
   f1()
} else if (c2) {
   f2()
} else if (c3) { 
   f3()
}
if c1 then f1
else if c2 then f2
else f3
let x | c1 = f1
      | c2 = f2
      | c3 = f3
if (c1) {
   f1();
} else if (c2) {
   f2();
} else if (c3) { 
   f3();
}
when {
  c1 -> f1()
  c2 -> f2()
  c3 -> f3()
}
(cond (c1 (f1))
      (c2 (f2))
      (c3 (f3)))
if (c1) then f1()
elseif (c2) then f2()
elseif (c3) then f3()
end
if (c1) f1();
else if (c2) f2();
else if (c3) f3();
if ($c1) {
  f1();
} else if ($c2) {
  f2();
} else if ($c3) {
  f3();
}
if c1 then f1 else if c2 then f2 else if c3 then f3;
if ($c1)    { $f1 }
elsif ($c2) { $f2 }
elsif ($c3) { $f3 }
f1() if c1 else f2() if c2 else f3() if c3 else None
if c1:
    f1()
elif c2:
    f2()
elif c3:
    f3()
case
  when c1
    f1
  when c2
    f2
  when c3
    f3
end
if c1 { f1() } else if c2 { f2() } else if c3 { f3() }
match true {
    _ if c1 => f1(),
    _ if c2 => f2(),
    _ if c3 => f3(),
    _ => (),
}
true match {
  case _ if c1 => f1()
  case _ if c2 => f2()
  case _ if c3 => f3()
}
if (c1) {
  f1()
} else if (c2) {
  f2()
} else if (c3) {
  f3()
}
(cond (c1 (f1))
      (c2 (f2))
      (c3 (f3)))
true caseOf: {
  [c1] -> [f1].
  [c2] -> [f2].
  [c3] -> [f3]}
If c1 Then
    f1()
ElseIf c2 Then
    f2()
else c3 Then
    f3()
End If

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