👽
3ntr0 Apuntes
  • 📚Principios SOLID y Clean Code
    • 💲Deuda Técnica
    • 📌Mejorar Nombres
      • 📄Nombre según Tipo
      • 🚗Nombre Clases
      • ⚙️Nombres Funciones
    • ☑️Mejorar Funciones
    • ➿Principio DRY
    • 🧼Clean Code en Clases (POO)
      • 📘 Principio de Responsabilidad Única (SRP)
    • 🤮🇸 🇹 🇺 🇵 🇮 🇩 - Code Smells
      • 🚫Singleton
      • 🙏Tight Coupling
      • 🥸U P I D
      • 🚩Más Code Smells
  • 💕Angular
    • 🏍️Standalone
    • 🆚ngClass vs [class.clase]
    • 🩻Directivas
    • 🚩ElementRef
    • 🎀Decoradores
      • @HostListener
    • 🔄OnChanges
    • 🧪Testing - Jasmine y Karma
      • 🚀Módulo 1: Introducción a las pruebas unitarias
      • 🧫Módulo 2: Introducción a Jasmine
      • ⚒️Módulo 3: Introducción a Karma
      • 🔬Módulo 4: Pruebas unitarias en Angular
        • Código comentado Paso a Paso
      • 🕵️‍♂️Módulo 5: Técnicas avanzadas en Jasmine
      • 📚Módulo 6: Técnicas avanzadas en Karma
  • 🖼️HTML y CSS
    • 🖌️Custom Properties
    • Trucos
    • Brakepoints
  • 🧋Javascript
    • 🛠️Funciones
    • 📦Arrays
      • Every y Some
      • Map
      • Reduce
    • 😎Hoisting
    • 🪚Desestructuración
    • 🛻Programación Asincrona
      • 📞Callbacks
      • 🌟Promises
      • 🆚Promise.all Y Promise.any
      • 🚀Async/Await
    • Respuestas HTTP
    • 🧐Dudas Básicas
      • NodeList
      • 🧐Contextos de .this
      • 💭Parametro Rest
      • 🗨️arguments
      • 🙀JavaScript no tiene clases
      • 🆚Null vs Undefined
      • 🔎Operador in
      • 🟨Operador Spread
      • ❓Encadenamiento Opcional
      • 🔲Notación de Corchetes
      • ⛓️Coalescencia Nula (??)
      • 🆚Shallow Copy vs Deep Copy
      • 🆚.json VS JSON.parse
      • ⚙️Fetch wrapper
      • Sets
      • Maps
  • 📒Terminología
    • 💎Esenciales
    • Web
    • Javascript
  • 🌐GIT
    • Source Tree
  • 🧬React
    • 🫂Babel
  • 🔧 Fundamentos de C#
    • 🎛️General
      • 🧐Diferencia Equals y ==
      • 🧐Diferencia entre typeof y .GetType()
      • 📐Convenciones de Nomenclatura
    • 💠Summary
    • 📇.resx
    • 📄Strings
      • ⛓️Comparación de cadenas
    • 🧲Regex
    • 📦POO
      • 🚙Clases
        • ✏️Clase String
        • 📥Métodos de Acceso
        • ⚗️Métodos de Extensión
    • 🖇️Pattern Matching
    • 🚩Excepciones
    • Programación Asíncrona
    • 🔎LINQ
      • 🅿️PLINQ
  • 🌐 Desarrollo Web con ASP.NET
    • 🧬Modelos
      • 🗒️Data Annotations
        • 📑Lista
        • 🧪Atributos
          • 🛠️Atributos Personalizados
          • 🧰AttributeUsage
          • 📥Acceso a los atributos
        • 📚Documentación
    • 👷Servicios
      • ⭐Servicios Singleton
    • ⏳Sesiones
      • 🧭Temp Data
    • DbContext
      • 🔄Eager Loading
    • 🥽Manejo de Datos
      • 🗃️Archivos
        • 📤Subida de Archivos
        • ✏️Leer y Escribir
        • 🕓Manejo de Archivos Temporales
        • 🛡️Validación de Archivos en ASP.NET Core
      • Colecciones
        • 🪜Pila (Stack)
        • 🏇Cola (Queue)
      • 🩻Manejo de XMLs
        • 📂XmlDocument
          • 🎯XPath
        • 🧿XmlReader
    • ❤️Tips y Utilities
      • 🟰StringComparison
    • 🧰Debug Tools
      • 🧭Stopwatch
  • 🚀Razor
    • 🧱Configuración de Proyecto
    • 📃Pages
      • 🔸Método OnGet
      • 🔸Carpeta Models
      • 🔸Partial Pages
    • 🎨Layouts
      • Aplicar CSS A UNA PAGE
    • 🚴‍♂️Routing
    • 🏢_ViewImports
    • ✒️Sintaxis Razor
      • 😀Introducción
      • 📔Expresiones Implícitas
      • 📕Expresiones Explícitas
      • ✍️Renderizar Texto
      • 🧑‍🔬Class Page Model
      • 🔖Tag Helpers
        • 🔹asp-page
        • 🔹asp-append-version
        • 🔹asp-for
        • 🔹asp-items
        • 🔹asp-action y asp-controller
  • 🔮LUA
    • 🎯Fundamentos
    • ⌨️Entrada por Consola
    • 🔗Estructuras de Control
    • ⚒️Funciones
    • 📦Tablas
    • 📚Funciones y Librerías Estándar
    • 🦖POO
Con tecnología de GitBook
En esta página
  • 2.1. Condicionales 🔄
  • 2.2. Bucles 🔄
  • 2.3. Control de flujo 🚦
  1. LUA

Estructuras de Control

2.1. Condicionales 🔄

Las estructuras condicionales permiten ejecutar diferentes bloques de código basados en condiciones. LUA ofrece las estructuras if, else, elseif y el equivalente de switch que se puede simular usando tablas.

2.1.1. If-then-else

La estructura básica if-then evalúa una condición y ejecuta el bloque de código si la condición es true.

local x = 10

if x > 5 then
    print("x es mayor que 5")
elseif x == 5 then
    print("x es igual a 5")
else
    print("x es menor que 5")
end

2.1.2. Simulación de switch-case usando tablas

LUA no tiene una estructura switch-case nativa, pero se puede simular utilizando tablas.

local opcion = 2

local casos = {
    [1] = function() print("Opción 1 seleccionada") end,
    [2] = function() print("Opción 2 seleccionada") end,
    [3] = function() print("Opción 3 seleccionada") end
}

if casos[opcion] then
    casos[opcion]()
else
    print("Opción no válida")
end

2.2. Bucles 🔄

Los bucles permiten repetir la ejecución de un bloque de código mientras se cumpla una condición.

2.2.1. Bucle for

El bucle for se utiliza para iterar un número conocido de veces.

for i = 1, 5 do
    print("Iteración: " .. i)
end

2.2.2. Bucle while

El bucle while repite el bloque de código mientras la condición sea true.

local i = 1

while i <= 5 do
    print("Iteración: " .. i)
    i = i + 1
end

2.2.3. Bucle repeat-until

El bucle repeat-until es similar al while, pero garantiza que el bloque de código se ejecute al menos una vez.

local i = 1

repeat
    print("Iteración: " .. i)
    i = i + 1
until i > 5

2.3. Control de flujo 🚦

El control de flujo permite modificar la ejecución normal del código dentro de estructuras de control.

2.3.1. break

El break se utiliza para salir de un bucle antes de que termine su ejecución normal.

for i = 1, 10 do
    if i == 5 then
        break  -- Salimos del bucle cuando i es 5
    end
    print("Iteración: " .. i)
end

2.3.2. return

El return se utiliza para salir de una función y devolver un valor.

local function sumar(a, b)
    return a + b
end

local resultado = sumar(3, 4)
print("Resultado: " .. resultado)  -- Salida: Resultado: 7
AnteriorEntrada por ConsolaSiguienteFunciones

Última actualización hace 9 meses

🔮
🔗