Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

 

Aprenda inglês em casa

Baixe gratuitamente as duas primeiras aulas

English for Reading and Listening

Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.

Saiba mais e faça sua inscrição

Red Bug

Você está aqui: Home  → Arquivo Dicas-L

 

Thinking in Patterns, com Bruce Eckel

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Publicar em del.icio.us

A Lua é Nossa

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."

Instalação

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

Lua como script?

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:

Veja a relação completa dos artigos de Walter Rodrigo de Sá Cruz

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.99/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (268 votos)

Recomende este site
Recomendar este artigo


Versão para impressão


Opinião dos Leitores

*Nome:
Email:
Me notifique sobre novos comentários nessa pagina
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treina Linux -  Cursos de Linux e Video aulas

Cursos

SMARTY - Mão na Massa
Separação da Lógica e Layout em sua Aplicação PHP
Dia 30 de Agosto - São Paulo
Saiba mais

Biblioteca

Redes - Guia Prático
Por Carlos. E. Morimoto

Hardware - o Guia Definitivo
Por Carlos. E. Morimoto

Kurumin 7 - Guia Prático
Por Carlos. E. Morimoto

Linux: Ferramentas Técnicas, 2ed
Por Carlos. E. Morimoto

Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates

Google Hacking
Por JOHNNY LONG

1808
Por Laurentino Gomes

Sistemas de Banco de Dados
Por Ramez E. Elmasri e Shamkant Navathe

Linux: Guia do Administrador do Sistema
Por Rubem E. Ferreira

A Menina que Roubava Livros
Por Markus Zusak

Sistemas Operacionais Modernos
Por Andrew S. Tanembaum

Hardware: Curso Completo
Por Gabriel Torres

PHP para Quem Conhece PHP
Por Juliano Niederauer

Redes de Computadores: Curso Completo
Por Gabriel Torres

Java: Como Programar
Por Harvey M. Deitel e Paul J. Deitel

O Caçador de Pipas
Por Khaled Hosseini

O Médico Doente
Por Dráuzio Varella

Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson

MySQL - Guia do Programador
Por André Milani

Certificação Linux
Por Uira Ribeiro

Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder

OpenGL: uma Abordagem Prática e Objetiva
Por Marcelo Cohen, Isabel Harb Manssour

Expressões Regulares: Uma Abordagem Divertida
Por Aurélio Marinho Jargas

Extreme Programming
Por Vinicius Manhaes Teles