Estructuras de control
Lua, como casi todos los lenguajes de programación, tiene una serie de estructuras de control que permiten iterar y hacer comprobaciones dentro del código:
- if
- for
- while
- repeat
IF
La sentencia if permite chequear una o más condiciones:
if condición1 then
sentencias1
elseif condición2 then
sentencias2
elseif condición3 then
sentencias3
else
sentencias4
end
Las condiciones son expresiones cuyo resultado es un boolean, o sea, true o false. Si una expresión es nil se considera false, cualquier otro valor, se considera true. Ejemplos de condiciones:
3 > 5 -- false
5 > 1 -- true
a -- variable no existente -> nil -> false
6 -- true
0 -- true
"hola" -- true
"" -- true
nil -- false
Las partes elseif y else de la sentencia if son opcionales.
Lua no tiene la sentencia switch típica de otros lenguajes de programación, pero se puede sustituir muy fácilmente con la sentencia if.
FOR
Forma general de la sentencia for:
for variable = start, end, step do
sentencias
end
La "variable" es el índice que va cambiando y que se puede utilizar dentro de las sentencias del bucle for. "start" es el valor de inicio y "end" es el valor final (incluidos ambos). "step" es opcional y permite pasar desde start hasta en end en pasos distintos de uno.
Ejemplo:
for i = 3, 10 do
print(i)
end
Otro ejemplo, contando hacia atrás:
for i = 100, 50, -1 do
print(i)
end
WHILE
La sentencia while permite ejecutar un bloque de sentencias mientras se cumpla una condición:
while condición do
sentencias
end
REPEAT
La sentencia repeat permite ejecutar un bloque de sentencias mientras hasta que se cumpla una condición:
repeat
sentencias
until condición
El bloque repeat se ejecuta siempre al menos una vez.
BREAK
La sentencia break permite salirse un bucle. Por ejemplo:
for i = 100, 50, -1 do
print(i)
if i > 80 then
break
end
end
Hay que tener en cuenta que Lua no tiene la sentencia continue, típica en otros lenguajes de programación para ir al principio del bucle.
No hay comentarios:
Publicar un comentario