Estructuras de control en LUA

La forma mas sencilla de empezar con un lenguaje de programación es entender como funcionan las estructuras de control y como podemos crear nuestras propias funciones, la forma en que podemos usarlas y los elementos que deben tener para poder usarlas. Esta publicación es complementaria a la entrada Introducción a LUA.

Estructuras condicionales.

Una estructura condicional permite que un fragmento de código sea ejecutado sólo si una condición dada es cumplida. Veamos algunos casos y ejemplos de como usarla.

IF básico

En el ejemplo anterior solo estamos evaluando que una variable booleana tenga el valor true para imprimir el mensaje.

Validación de variables

En el ejemplo anterior podemos observar como Lua también nos permite determinar si una variable ha sido inicializada, es decir, si tiene algún tipo de dato asignado o valor. Es importante que sepas que toda variable nula devolverá un false como resultado dentro de una estructura condicional. El texto “La variable no es nula” nunca se imprimirá en consola.

if  – else

En el ejemplo anterior podemos ver como al evaluar la variable miNombre definimos si debemos imprimir un texto que incluya el String almacenado en esa variable o imprimir en consola un texto diferente.

evaluación estricta con elseif

En ocasiones el uso de la sentencia usando else puede provocar algunos efectos no deseados como en el siguiente ejemplo:

Como se puede observar la variable siempre nos mostrará el texto que se encuentra después de la sentencia else cuando en este caso sería preferible no mostrar ningún texto, para ello podemos usar sentencias estrictas del tipo elseif como el siguiente ejemplo:

Operador not

En el ejemplo anterior nos apoyamos del operador not para poder evaluar de forma negativa la sentencia. Con la presencia de dicho operador estamos buscando que al evaluar la variable miNombe ésta deba dar como resultado false… como no es así va directamente a ejecutar lo que hay dentro de la condición else.

Operadores de comparación

En el ejemplo anterior podemos ver que solo tuvimos que usar el operador relacional == para comparar el valor que esta almacenado en la variable nombreComida y el String “Manzana” y validar que ambos son iguales. Para evaluar si 2 valores no son iguales utilizamos el operador ~=.

condiciones anidadas

En el ejemplo anterior se puede observar como usar condiciones anidadas nos ayuda a definir de forma precisa el código que esperamos se ejecute para asegurar un resultado preciso.

estructuras de ciclos

Estructura de ciclo – FOR

El ciclo for ejecuta un código tomando como guía un número inicial, la cantidad de veces en total que deberá repetirse la codificación y, en caso de ser necesario, especificar por cada vuelta cuanto deberá incrementarse la variable de inicio (por defecto se incrementará de 1 en 1).

Además podemos, de forma opcional, usar la palabra reservada break en caso de que necesitemos interrumpir la ejecución de esta estructura. Veamos algunos ejemplos de como podemos usar los ciclos for:

estructura de ciclo – while

En la estructura de ciclo while el código se ejecutará siempre que una condición se cumpla, para ello en general deberás apoyarte de al menos una variable con la que puedas controlar la ejecución. Veamos unos ejemplos:

Funciones

Las funciones nos permiten definir bloques de código que podemos usar en diferentes partes de nuestro proyecto o incluso dentro de otras funciones. Para ejecutarlas basta con escribir el nombre de la función acompañado de paréntesis ( ) y los parámetros dentro de esos parémtesis (en caso de que la función lo requiera). Veamos dos ejemplos simples:

Espero hayas disfrutado y aprendido muchas cosas de esta entrada y por favor siéntete libre de compartir esta información en tus redes sociales para que otras personas interesadas también puedan conocer algo nuevo que les pueda ayudar en sus proyectos futuros. ¡Hasta la próxima!

0 comments on “Estructuras de control en LUAAdd yours →

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *