Erlang - Declaraciones if anidadas

A veces, es necesario tener varios ifdeclaraciones incrustadas entre sí, como es posible en otros lenguajes de programación. En Erlang también esto es posible.

La siguiente imagen es una representación en diagrama de la instrucción if anidada.

Un ejemplo de esto se muestra en el siguiente programa:

Ejemplo

-module(helloworld). 
-export([start/0]). 

start() -> 
   A = 4, 
   B = 6, 
   if 
      A < B ->
         if 
            A > 5 -> 
               io:fwrite("A is greater than 5"); 
            true -> 
               io:fwrite("A is less than 5")
         end;
      true -> 
         io:fwrite("A is greater than B") 
   end.

En el programa anterior debe tenerse en cuenta el siguiente punto:

  • Cuando el primero if la condición se evalúa para true, luego comienza la evaluación de la segunda condición if.

La salida del código anterior será:

Salida

A is less than 5