2009-08-13 33 views
24

Leí algo sobre Lua este día, y me preguntaba qué era.Lua, ¿qué es Lua?

Hice un Google y Wikipedia (lo entendí hasta que comenzaron a hablar de un C API) bit de búsqueda Todavía no lo entiendo.

¿Qué es Lua? ¿Hay algún tutorial para principiantes?

+2

Exactamente, lo que no entiendes? – Geo

+6

¡Un lenguaje de programación limpio con un nombre extraño! – NoMoreZealots

+0

@Geo. Lo que es Lua –

Respuesta

31

Lua es un lenguaje de programación para C y C++. Permite utilizar la sintaxis más simple de Lua y ejecutar estos scripts en su aplicación C/C++. Por lo tanto, no tiene que compilar el programa en cada cambio, sino simplemente entregar una nueva versión de script.

Para obtener tutoriales solo use google, encontrará lo suficiente para mantenerlo ocupado los próximos días.

+0

Añadiré a eso que permite invocar fácilmente el código C (no sé sobre C++, nunca lo hice yo mismo, así que tal vez) de su script de Lua. También es pequeño y bastante rápido. Lo que lo convierte en un "pegamento" ideal para una aplicación. Ah, y es un analizador de archivos de configuración perfecto (si no importa ninguna función en el contexto del intérprete que utiliza para analizar los archivos de configuración). –

+19

No es solo para C/C++. El tiempo de ejecución de Lua también se puede usar desde otros idiomas, y hay implementaciones distintas a la oficial. Lua en sí no está técnicamente ligada a C o C++. – OregonGhost

40

Lua es un lenguaje de programación interpretado ligero desarrollado en Brasil con un enfoque en la incrustación.

Está escrito en Pure ANSI C lo que significa alta portabilidad, incluso como código C++.

Aquí se muestra un ejemplo:

print("Hello World!") 

Wikipedia Summary

Official Site

+5

Agregaría que los juegos convencionales como crysis lo usan para scripting. –

+11

¡No te olvides de World of Warcraft! Los ejércitos de hackers Lua han nacido debido a ese juego. –

14

Lua es un lenguaje de scripting. Enlace es a lua.org. Se usa mucho en el desarrollo de juegos, más notablemente (para mí) World of Warcraft.

+7

Me pregunto si alguien pensó que trabajaba para Blizzard. Yo no. Acabo de jugar y disfrutar el juego durante mucho, mucho tiempo. Por otro lado, dejar de fumar ha sido lo mejor para mi vida./shrug –

+0

¡Te di +1 por la maravilla de tu respuesta! – Mark

10

Lua es un lenguaje de scripts ligero e incrustable. Se ha ganado mucha popularidad en parte debido a su uso en muchos juegos populares. Un buen ejemplo de esto es World of Warcraft que usa una versión incrustada de lua para controlar el comportamiento de los elementos de la interfaz de usuario en el juego.

Una buena introducción a la lengua se puede encontrar aquí: http://computer-programming-languages.suite101.com/article.cfm/a_brief_introduction_to_lua_scripting

Y la referencia oficial en línea para el idioma se puede encontrar aquí: http://www.lua.org/manual/5.1/

8

Es un lenguaje de programación que está diseñado para trabajar con C (y C++). Está diseñado para integrarse en programas C/C++. Lo que significa que a diferencia de muchos otros lenguajes de scripting, no hace uso de las variables globales y eso significa que puede enrutar fácilmente los motores de scripts lua.

También afirma que es el lenguaje de scripting dinámico más rápido.

Lo he usado en la aplicación C++ basada en PC para crear una interfaz de scripts de complementos, y también lo he usado como un lenguaje de scripts incrustado. Es bastante versátil, agradable y pequeño.

como un lenguaje de scripting de propósito general? No está en la misma liga que tus cosas de tipo ruby ​​/ python/perl. No tiene tantas bibliotecas y la comunidad de usuarios es bastante pequeña.

¿Pero para extender aplicaciones C++/C? es impresionante.

24

Lua es un lenguaje de scripting multiparamétrico extensible e integrable, de código dinámico, portátil y muy simple. La implementación "vainilla" (algunos dirían oficial) se hace puramente en ANSI C y tiene una increíble (simple pero poderosa) API C que puede usar tanto para incrustar Lua en su aplicación como para extender el comportamiento del lenguaje en sí. Se desarrolla en el Departamento de Informática de la Pontificia Universidad Católica de Río de Janeiro (PUC-Rio).

Pensé que no fue diseñado principalmente para eso, Lua encontró un gran nicho en el juego de scripting, con grandes nombres como "Grim Fandango" y "World of Warcraft". No obstante, debido a su velocidad, simplicidad y portabilidad, también se usa mucho en sistemas integrados (véase, por ejemplo, el proyecto eLua) y la informática gráfica.

Su filosofía es ser minimalista, es decir, sus bibliotecas principales son muy pequeñas con solo una funcionalidad mínima (como las bibliotecas estándar de C), aunque a través de la API C es muy simple agregar características que no serían posibles. biblioteca de núcleo puro, como sockets, GUI, etc. De hecho, Lua es tan minimalista que su tipo de datos estructurado principal y único son "tablas", que podrían describirse como matrices asociativas en "roids".

Lua es un procedimiento en su esencia, pero también es compatible con múltiples paradigmas, como la programación funcional y la orientación de objetos. Aunque Lua no es el lenguaje de scripting más rápido (probablemente el proyecto V8 de javascript gana el premio) es muy rápido (más rápido que Python o Ruby, por ejemplo) y también cuenta con una implementación no oficial llamado LuaJIT.

Al final, Lua no es más que un lenguaje divertido para jugar, que recomiendo !. =)

Sobre los tutoriales, recomendaría el artículo sobre eso en el lua-users wiki.

¡Espero haber ayudado! =)

PD: No pude publicar todos los enlaces porque soy nuevo en el desbordamiento de la pila, pero no debería ser difícil encontrar todo en Google. Lo siento. = (

+1

Hay puntos de referencia flotando, que muestran que la implementación más rápida de JIT es LuaJIT. Aparentemente, LuaJIT incluso ha realizado sobre V8. – TechZilla

3

Lua es un lenguaje SCRIPTING escrito en C y se utiliza comúnmente en el desarrollo del juego debido a su potencia y flexibilidad. Lua es también multiplataforma para que pueda ser utilizado en cualquier lugar en cualquier plataforma. Lua también puede ser . utilizado como un lenguaje de programación con un útil programa que uso se llama AutoPlay Media Studio que le permite crear aplicaciones en toda regla para la plataforma Windows Espero que esto aclare las cosas para que

Sitio Web:..http://www.lua.org
AutoPlay Media Studio:http://www.indigorose.com.

3

La API C, que parece ser la parte que lo confundió, está diseñada para que sea más fácil tomar el código C existente (o el nuevo código C) y controlarlo con un script Lua. Esto es lo que se entiende por incrustación. A través de la incrustación, puede obtener una interfaz liviana, programable, interactiva y basada en texto para cualquier código C, por muy poco esfuerzo. Incluso si no incrusta las cosas usted mismo, Lua es un pequeño y agradable lenguaje de scripting.

Mi ejemplo favorito es que una persona agradable puso muchas llamadas al sistema POSIX en Lua.Cuando quiero algo que es como un script de shell pero es más sofisticado, puedo usar esta biblioteca. Del mismo modo con la biblioteca MD5 y con muchos otros.

Al aprender Lua puedes ignorar por completo la API C — solo beneficiarte del trabajo de otras personas con la API — y si alguna vez necesitas insertar tu propio código, puedes volver a consultarlo más tarde.

2

Lua es un lenguaje de scripts potente, rápido, ligero e integrable.

Lua combina una sintaxis de procedimiento simple con poderosas construcciones de descripción de datos basadas en matrices asociativas y semántica extensible. Lua se tipea dinámicamente, se ejecuta al interpretar bytecode para una máquina virtual basada en registro y tiene administración de memoria automática con recolección de basura incremental, por lo que es ideal para configuración, creación de scripts y prototipado rápido.

para más se puede leer here