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() }
match true {
    _ if c1 => f1(),
    _ if c2 => f2(),
    _ if c3 => 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
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) {
   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 }
if c1:
    f1()
elif c2:
    f2()
elif c3:
    f3()
f1 if c1 else f2 if c2 else f3 if c3 else None
case
  when c1
    f1
  when c2
    f2
  when c3
    f3
end
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)))
If c1 Then
    f1()
ElseIf c2 Then
    f2()
else c3 Then
    f3()
End If

Do you know the best way to do this in your language ?
New implementation...

Idiom created by

programming-idioms.org