De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Walter Rodrigo de Sá Cruz
Data de Publicação: 06 de Janeiro de 2006
Procurando uma linguagem pequena para embutir em seu programa (editor de texto, navegador, jogo, etc) como linguagem de script? Qual linguagem lhe vem a cabeça primeiro? Precisa ser uma linguagem rápida, pequena, e se você pretende embuti-la para que as pessoas usem, deve optar pela facilidade de sintaxe. Qual sua escolha ? Perl? Python? Ruby?
Bom, se você escolheu qualquer uma das três opções acima, sua resposta corre o risco de estar errada (mesmo com todo o crescimento do ruby em 2005)! A resposta, pelo menos para a maioria dos desenvolvedores de jogos (incluindo LucasArts e outros pesos pesados) é a brasileira Lua.
O manual a define como uma "linguagem de extensão desenvolvida para suportar programação procedural com facilidade para descição de dados.Oferece também bom suporte para programação orientada a objetos e programação funcional.". Ainda, segundo a documentação, é boa para ser usada como uma linguagem de configuração e script para qualquer programa que necessite dessas características. O editor de textos ScITE a usa como linguagem de script. O navegador de modo texto elinks também a utiliza.
Mas, o campo onde Lua tem seu maior destaque é nos jogos: os jogos "Grim Fandango", "Escape from Monkey Island IV" e "Battlefront II" da LucasArts usam Lua extensivamente. Segundo Roberto Ierusalimschy, em http://www.lua.org/press.html: "A linguagem C faz toda a parte de renderização (a parte gráfica, pesada, que inclui criar todos os detalhes da animação, sombras, e assim por diante). Já o script do jogo - o que o personagem faz, como reage a determinada conjuntura - é todo comandado por Lua. O designer do roteiro de jogo não trabalha em C, e sim programa em Lua."
A versão atual é a 5.0. A versão 5.1 está nos últimos estágios de testes e deve ser lançada em breve, com poucas mudanças em relação a versão anterior.
Para o Debian, basta executar:
apt-get install lua50
Existem pacotes rpm para o Fedora, Conectiva e outras distribuições.
Se você desejar compilá-la a partir dos fontes, pode baixá-los em http://www.lua.org/download.html
Embora lua brilhe como linguagem embutida, pode ser usada como linguagem de script. Basta salvar o script e executá-lo no prompt de comando:
lua script.lua
Para um exemplo simples da linguagem, mostro a seguir o código em Lua equivalente ao código em python disponível em http://www.pythonbrasil.com.br/moin.cgi/DeterminandoPrimos que é uma função que calcula todos os primos de 1 a 1000.
limite = 1000 c = 1 p = 1 primos = {2} for numero = 3,limite+1 do ehprimo = 1 for key,i in pairs(primos) do c = c + 1 if math.mod(numero,i)== 0 then ehprimo = 0 break end if i > math.sqrt(numero) then break end end if ehprimo == 1 then table.insert(primos, numero) p = p + 1 end end pr = table.concat(primos," ") print(pr) print("\n\nForam encontrados " .. p .. " números primos.") print("Foram necessárias " ..c .. " comparações.")
Para mais informações, visite os seguintes sites:
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários