Acerca de · Instalación · Cambios · Licencia · Manual de referencia · Glosario de términos chino-inglés
Lua es un potente, rápido y ligero lenguaje de scripts embebido. Fue creado por la Pontificia Universidad Católica de Río de Janeiro, BrasilPUC-Rio EquipoDesarrollo. Lua es unSoftware libre,
de LuaSitio web oficialproporciona información completa sobre Lua, incluyendoDescripción generaly la más recientedocumentación, cabe señalar queManual de referenciapuede diferir dela versión de aquíen algo.
Lua se distribuye comocódigo fuentese publica en forma de...; antes de usarlo, necesitas construirlo. Construir Lua es muy sencillo, porque Lua está implementado en ANSI C puro y se puede compilar directamente en todas las plataformas que tengan un compilador ANSI C. Asimismo, Lua también puede compilarse directamente como C++. A continuación se describe el proceso de compilación en plataformas tipo Unix; además, hayInstrucciones de compilación para otros sistemasyOpciones de configuraciónComo referencia.
Si no tienes tiempo o interés en compilar Lua tú mismo, puedesLuaBinariesobtener los binarios compilados, o desdeLuaDistaquí obtener la distribución multiplataforma de Lua (con las baterías incluidas).
En la mayoría de las plataformas tipo Unix, escribe "make" más el nombre de plataforma adecuado es suficiente. Los pasos son:
aix bsd c89 freebsd generic linux macosx mingw posix solaris
Si su plataforma está entre ellas, ejecute "make xxx" es suficiente, donde xxx representa el nombre de tu plataforma.
Si tu plataforma no está entre ellas, prueba primero la más parecida y luego intenta en orden: posix, generic, c89.
Si usas Linux y aparecen errores de compilación, verifica si has instaladoreadline(también puede llamarselibreadline-devoreadline-develpaquete de desarrollo). Después, si todavía hay errores de enlace, pruebe con "make linux MYLIBS=-ltermcap" 。
Una vez que hayas terminado de construir, puede que quieras instalar Lua en la ubicación predeterminada del sistema; entonces ejecuta "make install" es suficiente. La ubicación predeterminada del sistema y cómo instalar están definidos enMakefileen. Este proceso puede requerir los permisos pertinentes.
Ejecutar "make xxx install" permite construir e instalar en un solo paso, donde xxx se refiere al nombre de tu plataforma.
Si quieres instalar Lua localmente, ejecuta "make local". Creará uninstalldirectorio, que contienebin, include, lib, man, share, subdirectorio, e instalará en él los siguientes archivos. Si deseas instalarlo en otro directorio local, ejecuta "make install INSTALL_TOP=xxx", donde xxx indica el directorio que elijas.srcasí comodocdirectorio, así que cuandoINSTALL_TOPSi no es una ruta absoluta, tenga cuidado.
Estos son los directorios necesarios para el desarrollo. Si solo quieres ejecutar algunos programas Lua, entonces solo necesitasbinymanarchivos debajo.includeylibLos archivos de dicho directorio se utilizan para incrustar Lua en programas C o C++.
Hay tres tipos de personalizaciones que se pueden realizar editando archivos:
En realidad, no es necesario editar el archivo Makefile; basta con especificar las variables correspondientes en la línea de comandos al ejecutar make. Por supuesto, editar y guardar el Makefile puede dejar un registro de la personalización.
Por otro lado, si necesitas personalizar algunas características de Lua, entonces debes, antes de construir e instalar Lua, editarsrc/luaconf.h. Los archivos editados deben garantizar la coherencia, es decir, instalarse en un solo lugar, de modo que todos los programas que compiles y que usen Lua utilicen esa única copia. Los expertos pueden personalizar más cosas editando el código fuente de Lua.
Si no utilizas las herramientas Unix habituales, el proceso de compilación de Lua dependerá del compilador que uses. Necesitas crear varios proyectos para compilar la biblioteca, el intérprete y el compilador, etc. Añade los siguientes archivos fuente a los proyectos correspondientes:
Para usar Lua como biblioteca en tus programas, necesitas saber cómo crear y usar bibliotecas con tu compilador. Por ejemplo, para usar Lua como una biblioteca C de carga dinámica, necesitas saber cómo crear una biblioteca dinámica y hacer que las funciones de la API de Lua sean visibles en la biblioteca dinámica —noEnlaza la biblioteca de Lua en cada biblioteca dinámica. En Unix, recomendamos enlazar estáticamente la biblioteca de Lua en el programa anfitrión y luego exportar los símbolos para el enlace dinámico;src/MakefileAsí se maneja el intérprete de Lua. En Windows, recomendamos compilar la biblioteca de Lua como un DLL. En cualquier caso, el compilador luac debe estar enlazado estáticamente.
Como se dijo anteriormente, puedes editar antes de construir Luasrc/luaconf.hpara personalizar algunas características.
Aquí se enumeran los principales cambios introducidos en Lua 5.3.Manual de referenciase enumeranincompatibilidades.
ipairsy la biblioteca de manipulación de tablas también tendrá en cuenta los metamétodosstring.dumpse agregaron más opciones de recortetable.move
string.pack
string.unpack
string.packsize
lua_gettabley el tipo de valor que devolverán funciones similareslua_dumpse agregaron opciones de recortelua_geti
lua_seti
lua_isyieldable
lua_numbertointeger
lua_rotate
lua_stringtonumber
argla tabla está disponible para todo el códigoLua is free software distributed under the terms of the MIT license reproduced below; it may be used for any purpose, including commercial purposes, at absolutely no cost without having to ask us. The only requirement is that if you do use Lua, then you should give us credit by including the appropriate copyright notice somewhere in your product or its documentation. For details, see this.
Copyright © 1994–2015 Lua.org, PUC-Rio.Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.