Sei sulla pagina 1di 5
2ir018 Lua - Wikipedia, a encclopedia libre WIKIPEDIA Lua Lua es un lenguaje de programacién imperativo, estructurado y bastante ligero que fue diseftado como un lenguaje interpretado con una seméntica extendible. El nombre significa «luna» en gallego. indice Historia Caracteristicas Funcionamiento interno Cédigos de ejemplo Bucles Aplicaciones Portabilidad En Tibia.com o servidores En videojuegos Véase también Referencias Enlaces externos Historia Lua fue creado en 1993 por Roberto Ierusalimschy, Luiz Henrique de Figueiredo y Waldemar Celes basado en C y Perl con una estructura similar. Miembros del Grupo de Tecnologia en Computacién Gréfica (Teegraf) en la Pontificia Universidad Catélica de Rio de Janeiro. Las versiones de Lua anteriores a la 5.0 fueron distribuidas bajo una licencia similar a la BSD, de la versi6n 5.0 en adelante se utiliza la licencia MIT, compatible con la GPL. Tua ha sido usado en muchas aplicaciones comerciales y no comerciales, cuyo nfimero incrementa cada ajo, [ela requerida] Caracteristicas Lua es un lenguaje de programacién suficientemente compacto para usarse en diferentes plataformas. En Lua las variables no tienen tipo, sélo los datos y pueden ser ldgicos, enteros, ndmeros de coma flotante o cadenas. Estructuras de datos hitpsies wikipedia orgivki.ua Lua Roberto lerusalimschy https:/iwww.lua.orgy y http://www. lua.org/ Extensiones comunes Paradigma Muttiparadigma: interpretado, imperative (procedural, basado en prototipos, orientado a objetos), funcional Aparecié en 1993 Disefiado por —_ Roberto lerusalimschy Waldemar Celes Luiz Henrique de Figueiredo Ultima versi6n 5.3.51 (10 de julio de 2018) estable Sistema de tipos dindmico, fuerte, duck Implementaciones Lua, LuaJIT (hitp://luajit.or gi), LLVM-Lua (http://code.g cogle.comipilivm-iual), LuaCLR (https://web.archiv e.0rg/web/2009052013000 2thttp:/www4ua. inf puc-io.b riluacit), Nua (htp:iwww.co deplex.com/Nua), Lua Alchemy (hitp://code.goog! e.comipilua-alchemy/) Dialectos Metalua (http://metalua,luaf orge.net) Influido por Scheme, SNOBOL, Modula, 4 2ir018 Lua - Wikipedia, a encclopedia libre como veetores, conjuntos, tablas hash, listas y registros pueden CLU, C++ ser representadas utilizando la dica estructura de datos de | Ha influido a lo, GameMonkey, Squirrel, Lua: la tabla, Falcon, Dao, MiniD Lua es un lenguaje multiparadigma porque su seméntica | Sistema operative Muttiplataforma puede ser extendida y modificada redefiniendo funciones de las estructuras de datos utilizando metatablas, casi como en Perl Licencia MIT License (asi permite implementar, por ejemplo, la herencia aunque sea ajena al lenguaje). Lua ofrece soporte para funciones de orden superior, recolector de basura. Combinando todo lo anterior, es posible utilizar Lua en programacién orientada a objetos, Funcionamiento interno Los programas en Lua no son interpretados directamente, sino compilados a cédigo bytecode, que es ejecutado en la maquina virtual de Lua. El proceso de compilacién es normalmente transparente al usuario y se realiza en tiempo de ejecucién, pero puede hacerse con anticipacién para aumentar el rendimiento y reducir el uso de la memoria al prescindir del compitador. También es posible la compilacién en tiempo de cjecucién utilizando LuadIT. Cédigos de ejemplo El clisico programa Hola mundo puede ser escrito de la siguiente manera: pei (Hola mundo") ‘También puede ser escrito como to.weite(‘Hello World!\n") el ejemplo dado en el Website de Lua (http://www.lua.org/cgi-bin/demo?hello) fovwrite(*Hello world, fron ",_VERSTON,“!\n") Los comentarios usan la siguiente sintaxis, similar a Ada, SQL y VHDL. Lua enpteza con doble guton hasta la stgutente Linea ‘rings y comentarios mult se adornan con doble corchete]] El factorial es un ejemplo de funcién recursiva, function factorsal(n) if n=~ 8 then return 1 end return a factorial(n - 1) end Bucles hitpsies wikipedia orgivki.ua 28 2ir018 Lua - Wikipedia, a encclopedia libre Lua tiene cuatro tipos de bucles: el bucle while, el bucle for numérico y genérico y el bucle repeat. El bucle while tiene esta sintaxis: While (condicién) do * Bloque end La forma del buele for numérico es: local inicio, Fin, paso = 18, 1, -1 -- EL paso puede ser negative, permitiende al bucle for restar © suman for indice = inicio, fin, paso do print (indice) cena (tra forma del bucle for es el for genérico: for clave, valor in pairs(_s) do print (clave) end Esta forma itera la tabla _G usando el iterador estndar pairs hasta que retorne EI bucle repeat: local condicién ~ false repeat until. condieién Se ejecuta el cuerpo del bucle al menos una vez, y mantendria el bucle hasta que “cond” se convierta en true. Este es muy similar al do while de otros lenguajes de programacién, salvo que do while se repite mientras cumpla la condicién y en este caso, se repetiré hasta que se cumpla la condicién. Aplicaciones Lua ha sido usado para procesar datos de entrada a sistemas complejos, configurar aplicaciones, controlar hardware y muchas otras cosas.” = En el gestor de ventanas lon es posible utilizar Lua para personalizar la apariencia y extender su funcionalidad. = Elgestor de ventanas awesome en su versién 3 utiliza Lua para su fichero de configuracion, Lenguajes como ActionScript, Java, Lua y otros, son empleados en distintos sistemas operativos, lo cual consigue un ahorro de costes, al simplificar el trabajo de desarrollo de un nuevo programa de software, al afiadirlos como partes “prefabricadas” que incluso al adaptar o portar el programa a nuevos usos, por ejemplo de plataformas de videoconsolas a sistemas operativos como Android y otros, no necesitan ser modificados o mfnimamente, convirtiéndolo en un programa de software de calidad nuevo, a un coste de desarrollo muy reducido, ‘También Lua es uno de los lenguajes de programacién més utilizados para homebrews de la consola PSP de Sony debido a su sencillez, Van desde aplicaciones para afiadir complementos u otros programas fécilmente a la consola a entornos de ventanas execlentes y videojuegos muy completos. hitpsies wikipedia orgivki.ua a6

Potrebbero piacerti anche