
Linguagem de script leve e incorporável com API em C, suportando programação procedural, funcional e orientada a dados.
dl.display dd { padding-bottom: 0.2em ; }
tt, kbd, code { font-size: 12pt ; }
Bem-vindo ao Lua 5.3
Lua é uma linguagem de script poderosa, rápida, leve e embutível desenvolvida por uma equipe na PUC-Rio, a Pontifícia Universidade Católica do Rio de Janeiro no Brasil. Lua é software livre usado em muitos produtos e projetos ao redor do mundo.
O site oficial do Lua fornece informações completas sobre o Lua, incluindo um resumo executivo e documentação , especialmente o , que pode diferir ligeiramente da distribuída neste pacote.
Lua é distribuído na forma de código-fonte. Você precisa compilá-lo antes de usá-lo. Compilar o Lua deve ser direto porque o Lua é implementado em ANSI C puro e compila sem modificações em todas as plataformas conhecidas que possuem um compilador ANSI C. Lua também compila sem modificações como C++. As instruções abaixo para compilar o Lua são para sistemas do tipo Unix. Veja também instruções para outros sistemas e opções de personalização.
Se você não tem tempo ou disposição para compilar o Lua você mesmo, obtenha um binário no LuaBinaries. Experimente também o LuaDist, uma distribuição multi-plataforma do Lua que inclui baterias.
Na maioria das plataformas do tipo Unix, simplesmente faça "make" com um alvo adequado. Aqui estão os detalhes.
aix bsd c89 freebsd generic linux macosx mingw posix solaris
Se sua plataforma está listada, basta fazer "make xxx", onde xxx é o nome da sua plataforma.
Se sua plataforma não está listada, tente a mais próxima ou posix, generic, c89, nesta ordem.
Se você está executando Linux e obtém erros de compilação, certifique-se de ter instalado o pacote de desenvolvimento readline (que provavelmente se chama libreadline-dev ou readline-devel). Se você obtiver erros de link após isso, então tente "make linux MYLIBS=-ltermcap".
Depois de compilar o Lua, você pode querer instalá-lo em um local oficial no seu sistema. Nesse caso, faça "make install". O local oficial e a maneira de instalar os arquivos são definidos no Makefile. Você provavelmente precisará das permissões corretas para instalar os arquivos.
Para compilar e instalar o Lua em uma única etapa, faça "make xxx install", onde xxx é o nome da sua plataforma.
Para instalar o Lua localmente, faça "make local". Isso criará um diretório install com subdiretórios bin, include, lib, man, share, e instalará o Lua conforme listado abaixo.
Para instalar o Lua localmente, mas em outro diretório, faça "make install INSTALL_TOP=xxx", onde xxx é o diretório escolhido. A instalação começa nos diretórios src e doc, então tome cuidado se INSTALL_TOP não for um caminho absoluto.
Estes são os únicos diretórios que você precisa para desenvolvimento. Se você deseja apenas executar programas Lua, você só precisa dos arquivos em bin e man. Os arquivos em include e lib são necessários para embutir Lua em programas C ou C++.
Três tipos de coisas podem ser personalizadas editando um arquivo:
Na verdade, você não precisa editar os Makefiles porque pode definir as variáveis relevantes na linha de comando ao invocar o make. No entanto, é provavelmente melhor editar e salvar os Makefiles para registrar as alterações que você fez.
Por outro lado, se você precisar personalizar algumas funcionalidades do Lua, precisará editar src/luaconf.h antes de compilar e instalar o Lua. O arquivo editado será o instalado, e será usado por qualquer cliente Lua que você compilar, para garantir consistência. Personalizações adicionais estão disponíveis para especialistas editando os fontes do Lua.
Se você não está usando as ferramentas Unix habituais, então as instruções para compilar o Lua dependem do compilador que você usa. Você precisará criar projetos (ou o que seu compilador usar) para compilar a biblioteca, o interpretador e o compilador, da seguinte forma:
Para usar o Lua como uma biblioteca em seus próprios programas, você precisará saber como criar e usar bibliotecas com seu compilador. Além disso, para carregar dinamicamente bibliotecas C para o Lua, você precisará saber como criar bibliotecas dinâmicas e precisará garantir que as funções da API Lua sejam acessíveis a essas bibliotecas dinâmicas — mas não vincule a biblioteca Lua em cada biblioteca dinâmica. Para Unix, recomendamos que a biblioteca Lua seja vinculada estaticamente ao programa hospedeiro e seus símbolos exportados para vinculação dinâmica; src/Makefile faz isso para o interpretador Lua. Para Windows, recomendamos que a biblioteca Lua seja uma DLL. Em todos os casos, o compilador luac deve ser vinculado estaticamente.
Como mencionado acima, você pode editar src/luaconf.h para personalizar algumas funcionalidades antes de compilar o Lua.
Aqui estão as principais mudanças introduzidas no Lua 5.3. O manual de referência lista as incompatibilidades que tiveram que ser introduzidas.
Aqui estão as outras mudanças introduzidas no Lua 5.3:
ipairs e a biblioteca table respeitam metamétodos
string.dump
table.move
string.pack
string.unpack
string.packsize
lua_gettable e funções similares retornam o tipo do valor resultante
lua_dump
lua_geti
lua_seti
lua_isyieldable
lua_numbertointeger
lua_rotate
lua_stringtonumber
arg disponível para todo código
Lua é software livre distribuído sob os termos da
licença MIT
reproduzida abaixo;
pode ser usado para qualquer propósito, incluindo fins comerciais,
sem absolutamente nenhum custo, sem ter que nos pedir.
O único requisito é que, se você usar o Lua, então você deve nos dar crédito incluindo o aviso de copyright apropriado em algum lugar do seu produto ou sua documentação.
Para detalhes, veja isto.
Copyright © 1994–2017 Lua.org, PUC-Rio.Permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para lidar com o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do Software, e permitir que as pessoas a quem o Software é fornecido o façam, sujeito às seguintes condições:
O aviso de copyright acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU TITULARES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, FORA OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.
Última atualização: Mon Jun 18 22:57:33 -03 2018