Vistas de página en total

jueves, 1 de septiembre de 2016

Lua - Parte 5

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