Download - Locaweb
Download - Locaweb
Download - Locaweb
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
58 locaweb<br />
Programando.com LUA<br />
nenhuma os usa de modo tão extensivo quanto Lua. Nela,<br />
usamos tabelas para implementar estruturas de dados,<br />
como arrays, estruturas (registros), conjuntos e listas.<br />
Também inserimos conceitos mais abstratos, como objetos,<br />
classes e módulos. Segue um exemplo interessante de como<br />
usar Tabela como Arrays:<br />
Mes = {[1] = "Janeiro", [2] = "Fevereiro", [3]<br />
= "Março", [4] = "Abril", [5] = "Maio", [6] =<br />
"Junho", [7] = "Julho", [8] = "Agosto", [9] =<br />
"Setembro", [10] = "Outubro", [11] =<br />
"Novembro", [12] = "Dezembro"}<br />
print(Mes[3]) -- imprime Março<br />
Em Lua, existem dois tipos de for: o numérico e o<br />
genérico. Usaremos o for genérico e o iterador ipairs,<br />
que imprime as chaves da tabela de forma ordenada:<br />
for i, v in ipairs (Mes) do<br />
print (i .. " = " .. v)<br />
end<br />
A saída do for acima será a seguinte:<br />
1 = Janeiro<br />
2 = Fevereiro<br />
3 = Março<br />
4 = Abril<br />
5 = Maio<br />
6 = Junho<br />
7 = Julho<br />
8 = Agosto<br />
9 = Setembro<br />
10 = Outubro<br />
11 = Novembro<br />
12 = Dezembro<br />
Lua para web<br />
Como não poderia faltar em toda linguagem de script<br />
que se preze, Lua possui um Framework Web MVC. O Orbit<br />
é o framework para aplicações web da ferramenta, que alia<br />
uma maneira declarativa de associar URLs e funções da<br />
aplicação à comunicação fácil, com bancos de dados<br />
relacionais. Ainda não evoluiu tanto quanto frameworks do<br />
tipo Rails e Django, mas é um projeto muito promissor.<br />
No site do Orbit, há mais informações a respeito da<br />
ferramenta: http://orbit.luaforge.net.<br />
Há um gerenciador de conteúdo para web<br />
desenvolvido pela Fábrica Digital chamado Publique.<br />
Apesar de não ter código aberto, é bem interessante.<br />
Ainda para web, temos a opção do Sputnik, que é um<br />
wiki extensível disponível como software livre.<br />
* A Lua tem como diferenciais o uso de<br />
técnicas de programação funcional, o<br />
recurso ubíquo de tabelas como<br />
estruturas de dados, a utilização de<br />
cortinas e a comunicação com código C<br />
LuaRocks<br />
LuaRocks é um sistema de distribuição e gerenciamento<br />
para módulos Lua. Esta ferramenta permite que você instale<br />
módulos Lua como pacotes independentes chamados de<br />
“rocks”, que também contêm informação sobre<br />
dependência de versão. Esta informação, por sua vez, é<br />
usada em tempo de instalação, de modo que, quando um<br />
rock é requisitado, todos os rocks dos quais ele depende<br />
sejam instalados. Também é usada em tempo de execução.<br />
Assim, quando um módulo é requerido, a versão correta é<br />
carregada. O LuaRocks aceita repositórios local e remoto,<br />
além de múltiplos rock trees locais. O site do projeto é<br />
www.luarocks.org. Nesse endereço, estão disponíveis mais<br />
informações para quem deseja se aprofundar no assunto.<br />
Com o LuaRocks devidamente instalado, podemos<br />
realizar uma pesquisa para checar a existência de um rock:<br />
# luarocks search sql<br />
Search results:<br />
Rockspecs and source rocks:<br />
LSQLITE3<br />
0.7-1 (rockspec) - http://luarocks.org/repositories/rocks<br />
LUASQL-MYSQL<br />
2.2.0-1 (rockspec) - http://luarocks.org/repositories/rocks<br />
2.2.0-1 (src) - http://luarocks.org/repositories/rocks<br />
LUASQL-SQLITE3<br />
2.2.0-1 (rockspec) - http://luarocks.org/repositories/rocks<br />
2.2.0-1 (src) - http://luarocks.org/repositories/rocks<br />
Ele encontrou 3 rocks. Agora, podemos instalar o rock<br />
que satisfaça nossa necessidade:<br />
# luarocks install luasql-sqlite3<br />
Conclusão<br />
Lua tem muito a oferecer, como uma linguagem que<br />
pode atender a inúmeras necessidades. Se você quer<br />
aprender mais sobre o tema, leia o espetacular livro<br />
Programming In Lua, Second Edition, escrito por Roberto<br />
Ierusalimschy, que contém muita informação para quem<br />
deseja conhecer melhor os segredos da Lua.