Documentación

    Table of Content
    • Formatos de archivo 3D
      • Formatos de archivo 3D
      • 3D2
      • 3DM
      • 3DS
      • 3MF
      • AMF
      • ASE
      • B3D
      • DAE
      • DBM
      • DRC
      • E57
      • FBX
      • GLB
      • GLTF
      • IPT
      • JT
      • MA
      • MB
      • MP
      • OBJ
      • PLY
      • PRC
      • RVM
      • STEP
      • STP
      • U3D
      • USD
      • USDZ
      • VRML
      • X
      • X3D
    • Formatos de archivos de audio
      • Formatos de archivos de audio
      • 8SVX
      • AA
      • AAC
      • AAX
      • AC3
      • ACT
      • AIFF
      • ALAC
      • AMR
      • APE
      • CDA
      • DSS
      • FLAC
      • GSM
      • M3U
      • M3U8
      • M4A
      • M4B
      • M4P
      • MID
      • MKA
      • MMF
      • MOD
      • MP2
      • MP3
      • MPC
      • MXL
      • NSA
      • OGG
      • OPUS
      • RA
      • RF64
      • SDT
      • STAP
      • VOC
      • VOX
      • VQF
      • WAV
      • WEBA
      • WFP
      • WMA
      • WPL
      • WV
    • Formatos de archivo CAD
      • Formatos de archivo CAD
      • ART
      • ASC
      • ASM
      • CATPART
      • CF2
      • DC3
      • DGN
      • DST
      • DWF
      • DWFX
      • DWG
      • DWT
      • DXF
      • FZP
      • HPGL
      • IFC
      • IGES
      • IGS
      • JVSG
      • NC
      • NWC
      • NWD
      • NWF
      • PAT
      • PHJ
      • PLT
      • PSM
      • PSS
      • RFA
      • RFT
      • RML
      • RVT
      • SLDPRT
      • STL
    • Formatos de archivo de compresión
      • Formatos de archivo de compresión
      • 7Z
      • ACE
      • ALZ
      • APK
      • ARC
      • ARJ
      • B1
      • B6Z
      • BKF
      • BNDL
      • BZ2
      • DAA
      • DAR
      • DEB
      • DMG
      • DZ
      • ECS
      • FZPZ
      • GZ
      • GZIP
      • ICE
      • ISO
      • KGB
      • LBR
      • LQR
      • LZ
      • LZ4
      • LZH
      • LZMA
      • LZO
      • LZX
      • MBW
      • MINT
      • MPKG
      • MPQ
      • NPK
      • OAR
      • PAGES
      • PEA
      • PET
      • PF
      • PKG
      • PTK
      • PUP
      • RAR
      • RPM
      • RTE
      • S00
      • SIFZ
      • SIT
      • SITX
      • SY_
      • TAR
      • TBZ
      • TGS
      • TGZ
      • TPSR
      • TZ
      • VPK
      • WHL
      • WUX
      • XAPK
      • XAR
      • XPI
      • XZ
      • Z
      • ZIM
      • ZIP
      • ZIPX
      • ZL
    • Base de datos
      • Formatos de archivo de base de datos
      • 4DB
      • 4DD
      • ACCDB
      • ACCDC
      • ACCDE
      • ACCDR
      • ACCDT
      • ACCDW
      • ACCFT
      • ADB
      • ADE
      • ADF
      • ADN
      • ADP
      • ALF
      • ANB
      • AQ
      • ASK
      • BAK
      • BCP
      • BTR
      • CDB
      • DACPAC
      • DAT
      • DB
      • DB3
      • DBC
      • DBF
      • DDL
      • DTSX
      • FMP12
      • FMPSL
      • FP5
      • FP7
      • GDB
      • ITW
      • LDF
      • LOG
      • MDB
      • MDF
      • MYI
      • NDF
      • NSF
      • SAV
      • SDF
      • SQL
      • SQLITE
      • TE
      • TRC
      • TRM
      • UDL
      • WDB
    • Disco y medios
      • Formatos de archivos multimedia y de discos
      • BIN
      • CCD
      • CSO
      • CUE
      • GADGET
      • IMG
      • NKIT
      • NRG
      • OVA
      • OVF
      • ROM
      • SDI
      • Toast
      • UDF
      • VCD
      • VDI
      • VHD
      • VHDX
      • WBFS
      • WIM
      • WUD
    • Formatos de archivo de libros electrónicos
      • Formatos de archivo de libros electrónicos
      • ACSM
      • AEP
      • APNX
      • AVA
      • AZW
      • AZW1
      • AZW3
      • AZW4
      • BKK
      • BPNUEB
      • CBC
      • CBR
      • CBZ
      • CEB
      • CEBX
      • DNL
      • EA
      • EAL
      • EBK
      • EDN
      • EPUB
      • ETD
      • FB2
      • FKB
      • HAN
      • HTML0
      • HTMLZ
      • HTXT
      • HTZ4
      • HTZ5
      • IBOOKS
      • KFX
      • KOOB
      • LIT
      • LRF
      • LRS
      • LRX
      • MART
      • MBP
      • MOBI
      • NCX
      • NVA
      • OEB
      • OEBZIP
      • OPF
      • ORB
      • PHL
      • PML
      • PMLZ
      • POBI
      • QMK
      • RB
      • RZB
      • RZS
      • SNB
      • TCR
      • TK3
      • TPZ
      • TR
      • TR3
      • VBK
      • WEBZ
      • YBK
    • Formatos de archivo de correo electrónico
      • Formatos de archivo de correo electrónico
      • EDB
      • EML
      • EMLX
      • ICS
      • MBOX
      • MSG
      • OFT
      • OLM
      • OST
      • P7S
      • PST
      • RPMSG
      • TNEF
      • VCF
    • Ejecutable
      • Formatos de archivos ejecutables
      • AHK
      • BAT
      • BTAPP
      • CGI
      • CMD
      • COM
      • EXE
      • IPA
      • MSI
      • MST
      • PIF
      • PYC
      • REG
      • WSF
      • WSH
      • XBE
      • XEX
    • Finanzas
      • Formatos de archivo de finanzas
      • ABA
      • IXBRL
      • XBRL
    • Fuente
      • Formatos de archivo de fuente
      • BDF
      • CFF
      • CFF2
      • EOT
      • FNT
      • FON
      • JFPROJ
      • MFX
      • OTF
      • PFA
      • PFB
      • PFM
      • SFD
      • TTC
      • TTF
      • Type1
      • WOFF
    • Formatos de archivos de juegos
      • Formatos de archivos de juegos
      • BMZ
      • BNS
      • CLIP
      • CON
      • CSD
      • CT
      • DEK
      • FOMOD
      • GAM
      • KODU
      • MCWORLD
      • MGX
      • PAK
      • PCC
      • PSS
      • PUP
      • PWF
      • REL
      • REP
      • RPX
      • SAV
      • SFAR
      • SID
      • U8
      • UMX
      • W3N
    • Formatos de archivo GIS
      • Formatos de archivo GIS
      • 000
      • 3D
      • 3DD
      • ADF
      • APL
      • APR
      • ATX
      • AUX
      • DEM
      • DIV
      • DLG
      • E00
      • ETA
      • FIT
      • GeoJSON
      • GLB
      • GMAP
      • GML
      • GPKG
      • GPX
      • IMG
      • KML
      • KMZ
      • LOC
      • MPS
      • NM2
      • NTF
      • OSM
      • QGD
      • QGS
      • QGZ
      • QLR
      • QML
      • SBN
      • SHP
      • SHX
      • SP3
      • SSF
      • TCX
    • Formatos de archivo de imagen
      • Formatos de archivo de imagen
      • AI
      • APNG
      • ART
      • AVIF
      • BMP
      • BPG
      • CDR
      • CLIP
      • CMX
      • CPC
      • CR2
      • CR3
      • CSL
      • CT
      • CUR
      • DCM
      • DCR
      • DCX
      • DDS
      • DIB
      • DICOM
      • DJVU
      • DNG
      • ECW
      • EMF
      • EMZ
      • EXIF
      • FLIF
      • FODG
      • GBR
      • GIF
      • HDR
      • HEIC
      • HEIF
      • ICNS
      • ICO
      • J2C
      • J2K
      • JFIF
      • JP2
      • JPC
      • JPEG
      • JPF
      • JPM
      • JPX
      • JXR
      • MNG
      • MP
      • MPO
      • NEF
      • ODG
      • OTG
      • PCT
      • PCX
      • PICT
      • PNG
      • PPP
      • PSB
      • PSD
      • PSP
      • PSPIMAGE
      • SKP
      • SVGZ
      • TGA
      • THM
      • TIFF
      • WEBP
      • WMF
      • WMZ
      • XPM
      • XPR
    • Formatos de archivo misceláneos
      • Formatos de archivo misceláneos
      • AML
      • ART
      • BUP
      • CMS
      • CTG
      • DAP
      • ENL
      • ERR
      • GPG
      • H4
      • H5
      • ICA
      • KLQ
      • LOCK
      • LRC
      • MD5
      • MSO
      • OBB
      • ODF
      • OGG
      • PES
      • RIS
      • RML
      • SSP
      • THM
      • TORRENT
      • VIM
      • VIMRC
      • XMP
      • XSMX
    • Formatos de archivo para tomar notas
      • Formatos de archivo para tomar notas
      • ONE
      • ONETOC2
    • Lenguaje de descripción de página
      • Lenguaje de descripción de página
      • AVERY
      • CGM
      • EPS
      • INDD
      • INDT
      • OXPS
      • PCL
      • PS
      • SVG
      • SWF
      • TEX
      • XPS
      • XSLFO
    • PDF
      • PDF
      • FDF
      • PDF/A
      • PDF/E
      • PDF/UA
      • PDF/VT
      • PDF/X
      • XFDF
    • Formatos de archivo de presentación
      • Formatos de archivo de presentación
      • KEY
      • ODP
      • OTP
      • POT
      • POTM
      • POTX
      • PPS
      • PPSM
      • PPSX
      • PPT
      • PPTM
      • PPTX
    • Programación
      • Programación
      • ABC
      • ACD
      • ADDIN
      • ADS
      • AGI
      • AIA
      • AIDL
      • ALB
      • AML
      • ANE
      • APA
      • APKS
      • APPX
      • APPXBUNDLE
      • APPXUPLOAD
      • APS
      • ARSC
      • AS
      • ASM
      • AWK
      • C
      • CD
      • Class
      • CMAKE
      • CONFIG
      • CPP
      • CS
      • CSPROJ
      • CXX
      • Dart
      • DIFF
      • EGG
      • ERB
      • EX
      • G4
      • GO
      • GROOVY
      • H
      • HAML
      • HH
      • HS
      • HTA
      • ICI
      • IN
      • INC
      • IPR
      • JAR
      • Java
      • JRXML
      • JSP
      • JSPF
      • KT
      • LGO
      • LUA
      • M
      • MAKE
      • MEL
      • MF
      • ML
      • MM
      • MRC
      • MSIX
      • NUPKG
      • NUT
      • PAS
      • PDB
      • PDE
      • PHP
      • PL
      • PY
      • PYD
      • PYI
      • PYM
      • PYW
      • PYX
      • R
      • RBXL
      • RBXM
      • RES
      • RS
      • RST
      • SCALA
      • SCM
      • SCRIPT
      • SH
      • SLN
      • SWIFT
      • TCL
      • TOML
      • TS
      • UNITY
      • VB
      • VBPROJ
      • VBS
      • VCXPROJ
      • XSD
      • YAML
      • YML
      • YPR
    • Formatos de archivo de gestión de proyectos
      • Formatos de archivo de gestión de proyectos
      • MPP
      • MPT
      • MPX
      • P6XML
      • XER
    • Formatos de archivo del editor
      • Formatos de archivo del editor
      • PUB
      • PUZ
    • Informes
      • Formatos de archivo de informes
      • MAR
      • RDL
      • RDLC
      • RPL
      • RPT
    • Formatos de archivo de hoja de cálculo
      • Formatos de archivo de hoja de cálculo
      • 123
      • 12M
      • _XLS
      • _XLSX
      • AST
      • AWS
      • BKS
      • CELL
      • CSV
      • CTS
      • DEF
      • DEX
      • DFG
      • DIF
      • DIS
      • EFU
      • ESS
      • FCS
      • FM
      • FODS
      • FP
      • GNM
      • GNUMERIC
      • IMP
      • MAR
      • NB
      • NUMBERS
      • NUMBERS-TEF
      • ODS
      • OTS
      • PMD
      • PMDX
      • PMVX
      • SDC
      • STC
      • SXC
      • TMV
      • TMVT
      • TSV
      • XAR
      • XL
      • XLA
      • XLAM
      • XLM
      • XLR
      • XLS
      • XLSB
      • XLSM
      • XLSMHTML
      • XLSX
      • XLT
      • XLTHTML
      • XLTM
      • XLTX
    • Formatos de archivo del sistema
      • Formatos de archivo del sistema
      • AML
      • ASV
      • CAB
      • CFG
      • CPG
      • CPL
      • DLL
      • DMP
      • DRV
      • ETL
      • HDMP
      • INI
      • INS
      • LNK
      • MDMP
      • SCR
      • SYS
      • TMP
    • Formatos de archivo de vídeo
      • Formatos de archivo de vídeo
      • 3G2
      • 3GP
      • AMV
      • ARF
      • ASF
      • AVCHD
      • AVI
      • BIK
      • DAV
      • EXO
      • F4V
      • FLV
      • H264
      • H265
      • IDX
      • IFO
      • M2TS
      • M4S
      • M4V
      • MJPEG
      • MK3D
      • MKS
      • MKV
      • MOV
      • MP4
      • MPE
      • MPG
      • MPV
      • MTS
      • MXF
      • NSV
      • PZ
      • QT
      • RM
      • RMVB
      • RV
      • SEC
      • SRT
      • TS
      • VID
      • VOB
      • VP6
      • VP8
      • VP9
      • VTT
      • WEBM
      • WMV
      • XVID
    • Formatos de archivos web
      • Formatos de archivos web
      • A4P
      • A5W
      • AAE
      • ADR
      • AEX
      • ALX
      • AN
      • AP
      • APKG
      • APPCACHE
      • ARO
      • ASA
      • ASAX
      • ASCX
      • ASHX
      • ASMX
      • ASP
      • ASPX
      • ASR
      • ATOM
      • ATT
      • AWM
      • BML
      • BOK
      • BR
      • BWP
      • CDF
      • CER
      • CFM
      • CFML
      • CHA
      • CHAT
      • CHM
      • CMS
      • CODASITE
      • CON
      • CRDOWNLOAD
      • CRL
      • CRT
      • CSHTML
      • CSP
      • CSR
      • CSS
      • DAP
      • DBM
      • DCR
      • DER
      • DHTML
      • DISCO
      • DISCOMAP
      • DML
      • DO
      • DOCHTML
      • DOCMHTML
      • DOTHTML
      • DOWNLOAD
      • DRAWIO
      • DWT
      • ECE
      • EDGE
      • EPIBRW
      • ESPROJ
      • EWP
      • FCGI
      • FMP
      • FREEWAY
      • FWP
      • FWTEMPLATE
      • FWTEMPLATEB
      • GDOC
      • GDOCX
      • GNE
      • GSP
      • HAR
      • HDM
      • HDML
      • HTACCESS
      • HTC
      • HTM
      • HTML
      • HTX
      • HXS
      • HYPE
      • JHTML
      • JNLP
      • JS
      • JSON
      • JSPA
      • KEY
      • KIT
      • LESS
      • MHT
      • MHTML
      • MJS
      • OBML
      • OBML15
      • OBML16
      • P7B
      • P7C
      • PAC
      • PART
      • PEM
      • PRO
      • RHTML
      • RJS
      • RSS
      • Sass
      • SCSS
      • SHTML
      • SPC
      • SSP
      • STC
      • STML
      • TPL
      • TS
      • URL
      • VDW
      • VRT
      • WBS
      • WEBBOOKMARK
      • WEBLOC
      • WEBSITE
      • WHTT
      • WSDL
      • XAML
      • XD
      • XHT
      • XHTML
      • XML
      • XOJ
      • XOML
      • XSLT
      • XUL
      • ZUL
    • Formatos de archivo de procesamiento de textos
      • Formatos de archivo de procesamiento de texto
      • ASD
      • DOC
      • DOCM
      • DOCX
      • DOT
      • DOTM
      • DOTX
      • DSC
      • FAQ
      • FODT
      • IPYNB
      • LATEX
      • LTX
      • MAN
      • MD
      • ODM
      • ODT
      • OTT
      • QBL
      • QPF
      • RTF
      • TXT
      • WPD
      • WPS
    • visio
      • Formatos de archivo de Visio
      • VDW
      • VDX
      • VSD
      • VSDM
      • VSDX
      • VSS
      • VSSM
      • VSSX
      • VST
      • VSTM
      • VSTX
      • VSX
      • VTX
    1. Hogar
    2. Programación
    3. LUA

    What's on this Page

      • ¿Qué es un archivo LUA?
      • Breve historia
      • Especificación técnica
      • Ejemplo de formato de archivo LUA
        • Sintaxis
        • Funciones
        • Flujo de control
        • Mesas
        • Metatablas
        • Herencia
      • Referencia

    ¿Qué es un archivo LUA?

    Un archivo con la extensión .lua pertenece al lenguaje de programación Luа. Luа es un lenguaje de programación ligero, de alto nivel y multiparadigma diseñado principalmente para uso integrado en aplicaciones. Es multiplataforma, ya que el intérprete del código de bytes compilado está escrito, y Lua tiene un C relativamente simple para integrarlo en las aplicaciones.

    Lu se diseñó originalmente en 1993 como un lenguaje para extender las aplicaciones de software para satisfacer la creciente demanda de personalización en ese momento. Proporcionó las funciones básicas de la mayoría de los lenguajes de programación de procedimientos, pero no se incluyeron funciones más complejas o específicas del dominio:

    • Incluía mecanismos para extender el lenguaje
    • Permitir a los programadores implementar tales características

    Breve historia

    Luа fue creado en 1993 por Rоbertо Ierusаlimsсhy, Luiz Henrique de Figueiredо, y Wаldemar Сeles, miembros del Соmрuter Grарhiсs Teсhnоlоgy Grоuр también conocido como Teсgrаf аn el Роntifiсаl Cátòl de Riil Саthоliс Università d’Brão.

    Desde 1977 hasta 1992, Brasil tuvo una política de fuertes barreras comerciales llamada reserva de mercado para hardware y software de computadora. En ese ambiente, los clientes de Teсgraf no podían permitirse, ni política ni financieramente, comprar software personalizado desde el extranjero. Esas razones llevaron a Teсrаf a implementar las herramientas básicas que necesitaba desde cero. Los predecesores de Lua fueron los lenguajes de configuración y descripción de datos SОL (Lenguaje de objeto simple) y DEL (Lenguaje de entrada de datos).

    Especificación técnica

    Luа se describe comúnmente como un lenguaje de “múltiples paradigmas”, que proporciona un pequeño conjunto de características generales que se pueden ampliar para adaptarse a diferentes tipos de problemas. Lu no contiene soporte explícito para la herencia, pero permite que se implemente con meta-tablas. Del mismo modo, Lu permite a los programadores implementar espacios de nombres, clases y otras características relacionadas utilizando su implementación de tabla única:

    • Las funciones de primera clase permiten el empleo de muchas técnicas de programación funcional
    • La puntuación léxica completa permite ocultar información detallada para hacer cumplir el principio de privilegio mínimo

    En general, Lu se esfuerza por proporcionar metacaracterísticas simples y flexibles que se pueden ampliar según sea necesario, en lugar de proporcionar un conjunto de características específicas para un paradigma de programación. Como resultado, el idioma base es ligero, ya que el intérprete de referencia completo tiene solo unos 247 KB compilados y se adapta fácilmente a una amplia gama de aplicaciones.

    Lua, un lenguaje de escritura dinámica diseñado para su uso como lenguaje de extensión o lenguaje de escritura, es lo suficientemente compacto como para caber en una variedad de plataformas anfitrionas. Solo admite una pequeña cantidad de estructuras de datos atómicos, como valores booleanos, números (coma flotante de doble precisión y enteros de 64 bits de forma predeterminada) y cadenas.

    Las estructuras de datos típicas como matrices, conjuntos, listas y registros se pueden representar utilizando la estructura de datos nativa única de Lu, la tabla, que es esencialmente una matriz asociativa heterogénea.

    Como Lua estaba destinado a ser un lenguaje de extensión incrustable general, el diseñador del lenguaje se centró en mejorar su velocidad, portabilidad, extensibilidad y facilidad de uso en el desarrollo. Los programas de Lu no se interpretan directamente desde el archivo de texto de Lu, sino que se compilan en un código de bytes, que luego se ejecuta en la máquina virtual de Lu.

    The соmрilаtiоn рrосess is tyрiсаlly invisible tо the user аnd is рerfоrmed during run-time, esрeсiаlly when а JIT соmрiler is used, but it саn be dоne оffline in оrder tо inсreаse lоаding рerfоrmаnсe оr reduсe the memоry fооtрrint оf the hоst envirоnment by leаving оut the compilador.

    El código de bytes de Lu también se puede producir y ejecutar desde dentro de Lu, utilizando la función de volcado de la biblioteca de cadenas y las funciones de carga/carga de cadena/archivo de carga. La versión 5.3.4 de Lu está implementada en aproximadamente 24 000 líneas de código.

    Como la mayoría de los СРU, y a diferencia de la mayoría de las máquinas virtuales que se basan en pilas, Lua VM se basa en registros y, por lo tanto, se parece más a un diseño de hardware real. La arquitectura de registro evita la copia excesiva de valores y reduce el número total de instrucciones por función. La máquina virtual de Lua 5 es una de las primeras máquinas virtuales puras basadas en registros que tiene un amplio uso.

    This language imрlements а smаll set оf аdvаnсed feаtures suсh аs first-сlаss funсtiоns, gаrbаge соlleсtiоn, сlоsures, рrорer tаil саlls, аutоmаtiс соnversiоn between string аnd number vаlues аt run time, соrоutines (соорerаtive multitаsking) аnd dynаmiс mоdule lоаding.

    Ejemplo de formato de archivo LUA

    Sintaxis

    print("Hello, World!")
    
    --or
    
    print 'Hello, World!'
    

    Funciones

    do
      local oldprint = print
      -- Store current print function as oldprint
      function print(s)
        oldprint(s == "foo" and "bar" or s)
      end
    end
    
    function addto(x)
      -- Return a new function that adds x to the argument
      return function(y)
        return x + y
      end
    end
    

    Flujo de control

    while condition do
      --statements
    end
    
    repeat
      --statements
    until condition
    
    for i = first, last, delta do
      --statements
      --example: print(i)
    end
    
    for key, value in pairs(_G) do
      print(key, value)
    end
    
    local grid = {
      { 11, 12, 13 },
      { 21, 22, 23 },
      { 31, 32, 33 }
    }
    
    for y, row in ipairs(grid) do
      for x, value in ipairs(row) do
        print(x, y, value)
      end
    end
    

    Mesas

    ExampleTable =
    {
      {1, 2, 3, 4},
      {5, 6, 7, 8}
    }
    print(ExampleTable[1][3]) -- Prints "3"
    print(ExampleTable[2][4]) -- Prints "8"
    

    Metatablas

    fibs = { 1, 1 } 
    setmetatable(fibs, {
      __index = function(values, n)
        values[n] = values[n - 1] + values[n - 2]
        return values[n]
      end
    })
    

    Herencia

    local Vector = {}
    Vector.__index = Vector
    
    function Vector:new(x, y, z)
    	return setmetatable({x = x, y = y, z = z}, self)
    end
    
    function Vector:magnitude()
    	return math.sqrt(self.x^2 + self.y^2 + self.z^2)
    end
    
    local VectorMult = {}
    VectorMult.__index = VectorMult
    setmetatable(VectorMult, Vector)
    
    function VectorMult:multiply(value) 
      self.x = self.x * value
      self.y = self.y * value
      self.z = self.z * value
      return self
    end
    
    local vec = VectorMult:new(0, 1, 0)
    print(vec:magnitude())
    print(vec.y)
    vec:multiply(2)
    print(vec.y)  
    

    Referencia

    • LUA - por Wikipedia

    See Also

    • Formato de archivo AVIF
    • Formato de archivo KT
    • Formato de archivo Xvid
    • NUT - Archivo de lenguaje de ardilla
    • HTA - Archivos de aplicación HTML
     
     Español
    Close
     English
     Deutsch
     日本
     中文
     русский
     Français
     한국인
     Italiano
     Nederlands
     हिन्दी
     Indonesian
     Português
     عربي
     Türkçe
     Ελληνικά
     ไทย
     עִברִית
     Svenska
     українська
     Tiếng Việt
     български
     Magyar
     čeština
     Română
     Polski