English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Declaración if…else de Lua

Control de flujo de Lua

Declaración if...else

La declaración if de Lua puede utilizarse junto con la declaración else, ejecutando el bloque de código de else cuando la expresión condicional de if es false.

El formato de la estructura de la declaración if...else en Lua es el siguiente:

if(expresión booleana)
then
   --[Ejecutar este bloque de instrucciones cuando la expresión booleana es true] --]
else
   --[Ejecutar este bloque de instrucciones cuando la expresión booleana es false] --]
end

Cuando la expresión booleana es true, se ejecuta el bloque de código dentro de if. Cuando la expresión booleana es false, se ejecuta el bloque de código dentro de else.

Lua considera que false y nil son falso, mientras que true y no nil son verdadero. Es importante destacar que en Lua, 0 es verdadero.

El diagrama de flujo de la instrucción if es el siguiente:

Ejemplo en línea

El siguiente ejemplo se utiliza para evaluar el valor de la variable a:

--[Definir variable --]
a = 100;
--[Verificar la condición --]
if( a < 2"0")
then
   --[Ejecutar este bloque de instrucciones si la condición es true] --]
   print("a es menor que") 2"0")
else
   --[Ejecutar este bloque de instrucciones si la condición es false] --]
   print("a es mayor que") 2"0")
end
print("El valor de a es:", a)

El resultado de la ejecución del código anterior es el siguiente:

a es mayor que 20
El valor de a es:    100

Instrucciones if...elseif...else

La instrucción if de Lua se puede usar con las instrucciones elseif...else, que se ejecutan cuando la expresión condicional de if es false, y se utilizan para detectar múltiples condiciones.

El formato de la sintaxis de la instrucción if...elseif...else de Lua es el siguiente:

if( expresión booleana 1)
then
   --[Ejecutar este bloque de instrucciones si la condición booleana es false] 1 Ejecutar este bloque de instrucciones si es true --]
elseif( expresión booleana 2)
then
   --[Ejecutar este bloque de instrucciones si la condición booleana es false] 2 Ejecutar este bloque de instrucciones si es true --]
elseif( expresión booleana 3)
then
   --[Ejecutar este bloque de instrucciones si la condición booleana es false] 3 Ejecutar este bloque de instrucciones si es true --]
else 
   --[Ejecutar este bloque de instrucciones si ninguna de las expresiones booleanas anteriores es true] --]
end

Ejemplo en línea

El siguiente ejemplo evalúa el valor de la variable a:

--[Definir variable --]
a = 100
--[Verificar la condición booleana --]
if( a == 10 )
then
   --[Imprimir la siguiente información si la condición es true] --]
   print("El valor de a es") 10")
elseif( a == 2"0")
then   
   --[Imprimir la siguiente información si la condición de la instrucción condicional if...else...if es true] --]
   print("El valor de a es") 2"0")
elseif( a == 3"0")
then
   --[Imprimir la siguiente información si la condición de la instrucción condicional if...else...if es true] --]
   print("El valor de a es") 3"0")
else
   --[Imprimir la siguiente información si ninguna de las condiciones de la instrucción condicional superior es true] --]
   print("No se encontró coincidencia para el valor de a")
end
print("El valor real de a es: ", a)

El resultado de la ejecución del código anterior es el siguiente:

No se encontró coincidencia para el valor de a
El valor real de a es:     100

Control de flujo de Lua