👽
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
  • 1.1. Tipos de Datos Básicos 🧩
  • 1.2. Variables y Asignación 💡
  • 1.3. Comentarios 📝
  • 1.4. Operadores ⚙️
  1. LUA

Fundamentos

1.1. Tipos de Datos Básicos 🧩

LUA maneja varios tipos de datos básicos que son fundamentales para la programación. Los más comunes incluyen números, cadenas, booleanos, tablas y nil.

1.1.1. Números 🔢

Los números en LUA pueden ser enteros o de punto flotante.

local entero = 10
local flotante = 3.14
print(entero)   -- Salida: 10
print(flotante) -- Salida: 3.14

1.1.2. Cadenas 📝

Las cadenas son secuencias de caracteres y se pueden definir con comillas simples o dobles.

local cadena = "Hola, Lua!"
local otraCadena = '¡Aprendiendo LUA!'
print(cadena)      -- Salida: Hola, Lua!
print(otraCadena)  -- Salida: ¡Aprendiendo LUA!

Longitud de la cadena: En LUA, puedes usar el operador # para obtener la longitud de una cadena.

local longitud = #"Hola, Lua!"
print(longitud)  -- Salida: 9

1.1.3. Booleanos 🔄

Los valores booleanos pueden ser true o false.

local esVerdad = true
local esFalso = false
print(esVerdad) -- Salida: true
print(esFalso)  -- Salida: false

1.1.4. Tablas 📊

Las tablas son la única estructura de datos compleja en LUA y pueden funcionar como arreglos, diccionarios, etc.

local tabla = {1, 2, 3, "cuatro"}
print(tabla[1])  -- Salida: 1
print(tabla[4])  -- Salida: cuatro

Longitud de la tabla: Puedes usar el operador # para obtener la cantidad de elementos en una tabla (cuando es un arreglo simple).

local elementos = #{1, 2, 3, "cuatro"}
print(elementos)  -- Salida: 4

1.1.5. Nil 🚫

El valor nil representa la ausencia de un valor.

local valor = nil
print(valor)  -- Salida: nil

1.2. Variables y Asignación 💡

En LUA, puedes declarar variables utilizando local para que sean locales a un bloque o función, o sin local para que sean globales.

local mensaje = "Hola"
global = "Soy global"
print(mensaje)  -- Salida: Hola
print(global)   -- Salida: Soy global

1.3. Comentarios 📝

Los comentarios son esenciales para documentar el código y hacerlo más fácil de entender.

  • Comentarios de una línea: Se escriben utilizando --.

local x = 10  -- Este es un comentario de una sola línea
  • Comentarios de varias líneas: Se escriben utilizando --[[ ... ]].

--[[
   Este es un comentario de 
   varias líneas en LUA.
]]
local y = 20

1.4. Operadores ⚙️

LUA proporciona una variedad de operadores que puedes utilizar para manipular los datos.

1.4.1. Operadores Aritméticos ➕➖✖️➗

Los operadores aritméticos realizan operaciones matemáticas básicas.

local suma = 5 + 3         -- Suma
local resta = 5 - 3        -- Resta
local multiplicacion = 5 * 3  -- Multiplicación
local division = 5 / 3     -- División
local modulo = 5 % 3       -- Módulo (resto)
local potencia = 5 ^ 3     -- Potencia

print(suma)            -- Salida: 8
print(resta)           -- Salida: 2
print(multiplicacion)  -- Salida: 15
print(division)        -- Salida: 1.6666666666667
print(modulo)          -- Salida: 2
print(potencia)        -- Salida: 125

1.4.2. Operadores Relacionales 🔄

Los operadores relacionales comparan valores y devuelven true o false.

local esIgual = (5 == 3)         -- Igualdad
local esDiferente = (5 ~= 3)     -- Diferente
local esMayor = (5 > 3)          -- Mayor que
local esMenor = (5 < 3)          -- Menor que
local esMayorOIgual = (5 >= 3)   -- Mayor o igual que
local esMenorOIgual = (5 <= 3)   -- Menor o igual que

print(esIgual)           -- Salida: false
print(esDiferente)       -- Salida: true
print(esMayor)           -- Salida: true
print(esMenor)           -- Salida: false
print(esMayorOIgual)     -- Salida: true
print(esMenorOIgual)     -- Salida: false

1.4.3. Operadores Lógicos 🔀

Los operadores lógicos se usan para combinar valores booleanos.

local y = true and false    -- AND lógico
local o = true or false     -- OR lógico
local no = not true         -- NOT lógico

print(y)    -- Salida: false
print(o)    -- Salida: true
print(no)   -- Salida: false

1.4.4. Operador de Concatenación 🔗

El operador .. se usa para concatenar (unir) cadenas.

local nombre = "Laura"
local saludo = "Hola, " .. nombre .. "!"
print(saludo)  -- Salida: Hola, Laura!

1.4.5. Precedencia de Operadores 🎯

LUA sigue reglas de precedencia de operadores, donde ciertos operadores se evalúan antes que otros en una expresión.

local resultado = 5 + 3 * 2  -- Multiplicación se evalúa primero
print(resultado)  -- Salida: 11
Anteriorasp-action y asp-controllerSiguienteEntrada por Consola

Última actualización hace 9 meses

🔮
🎯