Bom, tive que fazer vários programas para a faculdade em Lua e já passei muito perrengue para configurar um ambiente de desenvolvimento em Lua.
Como gosto de ficar formatando minha máquina para testar várias coisas, volta e meia eu tenho que quebrar a cabeça para reinstalar o Lua aqui. Então, para não ter que ficar procurando em toda a web, vou colocar aqui o que eu preciso pra mim e espero que ajude mais alguém que queira descobrir como é legal e fácil programar em Lua.
Antes de começar, vou falar das versões:
em Julho de 2012, existem as versões 5.2 e 5.1.4.
Este tutorial será para a 5.1.4 porque os módulos listados aqui ainda não estão feitos para a versão mais recente.O editor de texto que eu recomendo usar é o
Sublime Text 2Sites muito úteis para as dúvidas diárias:
Lua.org /
Lua-users WikiBom, vamos lá, primeira, instalar o Lua:
sudo aptitude install lua5.1
Bom, agora já temos o lua instalado.
fred@Pangolin:~$ lua -v
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
Se você chegou nesse ponto e não sabe nada de Lua, sugiro a leitura dos sites sugeridos, lá tem exemplos fáceis de visualizar.
Bom, precisamos do luarocks agora para instalar os próximos módulos.
- Instalar o LuaMySQL ou o LuaPostgres ou o LuaSQLite.
sudo apt-get install liblua5.1-sql-mysql-2 liblua5.1-sql-mysql-dev libmysqlclient-dev luarocks
sudo luarocks install luasql-mysql MYSQL_INCDIR=/usr/include/mysql
Desses, o que deixa curiosidade é o
libmysqlclient-dev, necessário para instalar um módulo que o luasql-mysql / luasql-postgres / luasql-sqlite procura no momento da instalação.
Sem ele, não funcionará!Para usar este módulo temos que:
driver = require "luasql.mysql"
env = assert(driver.mysql())
con = assert (env:connect("nome_banco", "usario", "senha"))
cur = assert(con:execute("SELECT * FROM TABELA))
row = cur:fetch({}, "a")
if row ~= nil then
print(row.nome_de_uma_coluna)
end
Instalando o módulo LFS - Lua File System
sudo luarocks install luafilesystem
Sugiro acessar
esta página para entender como funciona este módulo.
Lua também tem um módulo http:
sudo apt-get install liblua5.1-socket2 liblua5.1-socket-dev
Aqui é interessante,
não estamos instalando o pacote luasocket porque, de acordo com
esta thread ele aponta para o a versão 5.0 ao invés da 5.1.4 como estamos usando.
Exemplo de uso:
local http = require "socket.http"
exemplo = http.request(www.lua.org)
print(exemplo)
Bem simples, não?
Agora, só falta a integração do Lua + Apache ou Lua + Xavante. Este eu vou deixar para depois pois não estou achando o meu tutorial para o Lua + Apache e a página do
Projeto Kepler está fora do ar. Quando tiver um tempo eu coloco aqui o que falta.