Garrys mod, el Sandbox creado con el source engine. Si necesitas ayuda, la encontraremos. Si quieres postear tus imágenes, las miraremos. Si quieres organizar o unirte a servers para divertirse, esta es la comunidad indicada. Anímate a ser parte!

Ver más
  • 15,990 Miembros
  • 39,182 Temas
  • 6,235 Seguidores
  • 0

Lenguaje Lua Basico

El lenguaje

Lua es un lenguaje sencillo. Una de sus principales influencias declaradas es Lisp y su idea de una única estructura, la lista. En el caso de Lua, esta estructura clave fundamental de su arquitectura es la tabla. Como lenguaje más parecido podría nombrarse Javascript. Ambos son lenguajes de script, con soporte para OO basada en prototipos.

Lua es rápido para su naturaleza interpretada; suele quedar en buen lugar en las comparativas.

La sintaxis recuerda a una mezcla de Pascal con otros lenguajes. Un clásico:

-- Una función:
function diHola(persona)
-- Un bucle:
for i=1,3 do
print("Hola " .. persona .. "!"
end
end

print("¿Cómo te llamas?"
nombre = io.read()
-- Llamada a una función:
diHola(nombre)

Lua soporta un estilo procedural imperativo, pero también un estilo funcional. De hecho, en Lua las funciones son entidades de primera categoría. La función del ejemplo anterior, en realidad se interpreta como:

diHola = function(persona)
print("Hola " .. persona .. "!"
end

Si tenéis cierta experiencia con Javascript quizá esa forma de escribirlo os sea familiar.

Lua, como decía antes, también soporta orientación a objetos, y lo hace basándose en la estructura de la tabla. Una tabla como t:

t = {}

puede contener funciones, como:

function t.diHola(persona)
print("Hola " .. persona .. "!"
end
t.diHola("Peter"

O, si utilizamos : en lugar de . Lua nos pasará como primer parámetro self, una referencia a la tabla (u objeto):

t = {}
t.nombre = "Peter"
function t:diHola()
print("Hola " .. self.nombre .. "!"
end
t:diHola()
-- Que es lo mismo que t.diHola(t) o que t['diHola'](t)

Con esto tenemos todo lo necesario para encapsular objetos. Para otros aspectos de la OO, Lua se se basa en la idea de metatabla, una forma de asociar a una tabla T otra T' en la que se irán a buscar los métodos que no se encuentren en T. Con esto tenemos un mecanismo de herencia. Entrar en detalle del manejo de las metatablas, OO, metaprogramación u otros aspectos más avanzados quedan (quizá) para posibles próximos artículos.
Referencias y Herramientas

La referencia fundamental para aprender Lua es, sin duda, el libro Programming in Lua, del cual se puede encontrar online la primera edición. Es un buen libro, bien escrito y con explicaciones detalladas pero asequibles a cualquiera. Como complemento, el Manual de Referencia que también se puede adquirir impreso o consultar online.

La otra referencia habitual es el Wiki de Usuarios de Lua donde podemos encontrar tutoriales y código, su lista de correo lua-l o el canal de IRC en Freenode.

Existen, además, unos cuantos libros y tutoriales más específicamente orientados a desarrollar modificaciones de determinados juegos, o a la programación de juegos en general.

El soporte por parte de los editores e IDEs es suficientemente amplio. Personalmente recomiendo SciTE un editor muy sencillo con la cualidad de que utiliza Lua para programar macros. Existen también una buena cantidad de librerías y enlaces que se encuentran listadas en el Wiki.

LuaForge es un buen lugar para encontrar proyectos de y para este lenguaje. El Kepler Project es otra interesante referencia que desarrolla y mantiene una variada colección de módulos principal pero no exclusivamente orientados al desarrollo web.

Por último, para comenzar con Lua en Windows se puede encontrar un cómodo instalador que incluye binarios de Lua, un buen número de librerías fundamentales y el editor SciTE, además de unos cuántos ejemplos y documentación.

Recomendaciones:

Antes de aprender sobre este lenguaje es recomendable que estudies un poco de javascript

Cuando agas un LUA verifica bien y aslo a paso lento ya que por una sola "," tu trabajo puede irse al tacho de basura...
[Eso le paso a ailin pero por suert era precavido y me parese que no borro nada e.e]

Fuente: http://es.debugmodeon.com/articulo/introduccion-a-lua
  • 0
  • 10Calificación
  • 5Seguidores
  • 1.806Visitas
  • 0Favoritos

8 comentarios

@Mar98 Hace más de 3 años
buena info /tutorial (?)
+1 me voy a dormir no aguanto mas zzzzzzzz
@Ishtarion Hace más de 3 años
Wew, me impresiona tu sabiduría en Lua, sólo espero que no sea copiado jeje, aunque no creo.
Lo pondré en la Guía, se ve interesante.
+1!
@GLaDOS_Chibi Hace más de 3 años
Hmm interesante guia, aunque deberias dar credito al autor que habia escrito esta guia:
Venkman
@Ailin95 Hace más de 3 años
Creo que ya fue creado por Venkman : P tal y como dijo GLaDOS
@markking22 Hace más de 3 años

GLaDOS_Chibi dijo:Hmm interesante guia, aunque deberias dar credito al autor que habia escrito esta guia:
Venkman


xD FAIL +1
@lucfran Hace más de 3 años

markking22 dijo:

GLaDOS_Chibi dijo:Hmm interesante guia, aunque deberias dar credito al autor que habia escrito esta guia: Venkman

xD FAIL +1


Me parecía, el es argentino y está escrito en español (no en castellano)
@kyriam Hace más de 3 años
Me perdí en lo de lenguaje sencillo
Tienes que ser miembro para responder en este tema