SlideShare uma empresa Scribd logo
1 de 13
Luiz Fernando Duarte Junior
http://www.luiztools.com.br
 Introdução ao Lua
 Funcionamento
 Sintaxe
 Mercado
 Referências
 Lua é uma linguagem de programação
interpretada, imperativa, de script,
procedural, pequena e leve, projetada para
expandir aplicações em geral, por ser uma
linguagem extensível (que une partes de um
programa feitas em mais de uma
linguagem), para prototipagem e para ser
embarcada em softwares complexos, como
jogos.
 Criada na PUC-Rio para ser usada na
Petrobras em 1993
 extensível
 Tipada dinamicamente
 Bytecodes
 Garbage collector e auto mem management
 Permite executar código C
 Multiplataforma (qualquer uma que rode C,
como Windows, Linux, Mac OS, Android e
iOS)
 A compilação dos arquivos .lua gera
bytecodes Lua
 O interpretador Lua, escrito em C, lê e
interpreta estes bytecodes
 O programa final é executado em Assembly,
assim como no C
 Teste online: http://www.lua.org/demo.html
 Semelhante ao Python, Ruby e Javascript
 Tipagem dinâmica
 Strings (‘palavra’ ou “palavra”)
 Números (10 ou 10.5)
 Booleano (true e false)
 Nulo (nil)
 Arquivos .lua
 Variáveis locais e globais (local)
 Funções locais e globais (local function -
end)
 If – then – else – elseif - end
 Impressão no console (print)
 and – or - > - < - == - ~=
 +, -, *, /, %, ^
 Métodos e funções ( ‘.’ e ‘:’)
 Linkando arquivos (require)
 Concatenação (..)
 Conversão automática de tipo
 ; opcional
 while – do – end
 repeat – until
 break e return
 Tables {}
 cliente.nome, cliente[“nome”] ou cliente[1]
 1-based arrays
 # - lenght operator
 Biblioteca ‘math’
 Biblioteca ‘string’
 Biblioteca ‘io’ e ‘file’
 Processamento de texto
 Robótica
 Desenvolvimento de games (Angry Birds,
Civilization, Fable, Ragnarok, Tibia, World of
Warcraft)
 Lucas Arts utiliza Lua em alguns jogos
 Adobe utiliza Lua em alguns softwares
 Site Oficial: http://www.lua.org/
 Wiki Oficial: http://lua-users.org/wiki/
 Meu blog: http://www.luiztools.com.br
 ?
 http://www.luiztools.com.br

Mais conteúdo relacionado

Semelhante a Curso Corona SDK - Módulo 2

Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaSérgio Souza Costa
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesAdriano Teixeira de Souza
 
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfpython_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfProfIvanSaboia
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfAndreiaCristinaFlore
 
Introdução ao linux educacional (ms office)
Introdução ao linux educacional (ms office)Introdução ao linux educacional (ms office)
Introdução ao linux educacional (ms office)Professores Cedaspy
 
Linguagem C Entendendo a Programação
Linguagem C Entendendo a ProgramaçãoLinguagem C Entendendo a Programação
Linguagem C Entendendo a ProgramaçãoMonike Santos
 
Tipos De Arquivos
Tipos De ArquivosTipos De Arquivos
Tipos De ArquivosSOL RIBEIRO
 
Jogos_Eletronicos_Aula_03_Introducao_Linguagem_Lua_2014.pdf
Jogos_Eletronicos_Aula_03_Introducao_Linguagem_Lua_2014.pdfJogos_Eletronicos_Aula_03_Introducao_Linguagem_Lua_2014.pdf
Jogos_Eletronicos_Aula_03_Introducao_Linguagem_Lua_2014.pdfPauloGomes623362
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)Rudá Moura
 
Ruby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo CastellaniRuby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo Castellaniguest2a3a90
 
Ruby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo CastellaniRuby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo CastellaniHugo Borges
 
Engenharia Reversa no Linux
Engenharia Reversa no LinuxEngenharia Reversa no Linux
Engenharia Reversa no LinuxFernando Mercês
 
Conceitos Fundamentais de Programacao
Conceitos Fundamentais de ProgramacaoConceitos Fundamentais de Programacao
Conceitos Fundamentais de ProgramacaoJorge Cardoso
 

Semelhante a Curso Corona SDK - Módulo 2 (20)

Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo Lua
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - Classificações
 
python_para_desenvolvedores.pdf
python_para_desenvolvedores.pdfpython_para_desenvolvedores.pdf
python_para_desenvolvedores.pdf
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
 
Linux Conceitos Design
Linux Conceitos DesignLinux Conceitos Design
Linux Conceitos Design
 
Introdução ao linux educacional (ms office)
Introdução ao linux educacional (ms office)Introdução ao linux educacional (ms office)
Introdução ao linux educacional (ms office)
 
Sistema operacional-1-ano-de-informatica-completa
Sistema operacional-1-ano-de-informatica-completaSistema operacional-1-ano-de-informatica-completa
Sistema operacional-1-ano-de-informatica-completa
 
Linguagem C Entendendo a Programação
Linguagem C Entendendo a ProgramaçãoLinguagem C Entendendo a Programação
Linguagem C Entendendo a Programação
 
Tipos De Arquivos
Tipos De ArquivosTipos De Arquivos
Tipos De Arquivos
 
Jogos_Eletronicos_Aula_03_Introducao_Linguagem_Lua_2014.pdf
Jogos_Eletronicos_Aula_03_Introducao_Linguagem_Lua_2014.pdfJogos_Eletronicos_Aula_03_Introducao_Linguagem_Lua_2014.pdf
Jogos_Eletronicos_Aula_03_Introducao_Linguagem_Lua_2014.pdf
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 
Ruby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo CastellaniRuby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo Castellani
 
Ruby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo CastellaniRuby No Desktop - Marcelo Castellani
Ruby No Desktop - Marcelo Castellani
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Cygwin
CygwinCygwin
Cygwin
 
Engenharia Reversa no Linux
Engenharia Reversa no LinuxEngenharia Reversa no Linux
Engenharia Reversa no Linux
 
Conceitos Fundamentais de Programacao
Conceitos Fundamentais de ProgramacaoConceitos Fundamentais de Programacao
Conceitos Fundamentais de Programacao
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
Aula 3 - Software
Aula 3 - SoftwareAula 3 - Software
Aula 3 - Software
 
Haskell - Introdução
Haskell - IntroduçãoHaskell - Introdução
Haskell - Introdução
 

Mais de Luiz Duarte

Mecanismo de busca em Node.js e MongoDB
Mecanismo de busca em Node.js e MongoDBMecanismo de busca em Node.js e MongoDB
Mecanismo de busca em Node.js e MongoDBLuiz Duarte
 
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...Luiz Duarte
 
Team Building: Passo a Passo
Team Building: Passo a PassoTeam Building: Passo a Passo
Team Building: Passo a PassoLuiz Duarte
 
Curso Scrum e Métodos Ágeis 07
Curso Scrum e Métodos Ágeis 07Curso Scrum e Métodos Ágeis 07
Curso Scrum e Métodos Ágeis 07Luiz Duarte
 
Curso Scrum e Métodos Ágeis 04
Curso Scrum e Métodos Ágeis 04Curso Scrum e Métodos Ágeis 04
Curso Scrum e Métodos Ágeis 04Luiz Duarte
 
Curso Scrum e Métodos Ágeis 02
Curso Scrum e Métodos Ágeis 02Curso Scrum e Métodos Ágeis 02
Curso Scrum e Métodos Ágeis 02Luiz Duarte
 
Curso Scrum e Métodos Ágeis 03
Curso Scrum e Métodos Ágeis 03Curso Scrum e Métodos Ágeis 03
Curso Scrum e Métodos Ágeis 03Luiz Duarte
 
Curso Scrum e Métodos Ágeis - Introdução
Curso Scrum e Métodos Ágeis - IntroduçãoCurso Scrum e Métodos Ágeis - Introdução
Curso Scrum e Métodos Ágeis - IntroduçãoLuiz Duarte
 
Curso Scrum e Métodos Ágeis 01
Curso Scrum e Métodos Ágeis 01Curso Scrum e Métodos Ágeis 01
Curso Scrum e Métodos Ágeis 01Luiz Duarte
 
Curso Scrum e Métodos Ágeis 05
Curso Scrum e Métodos Ágeis 05Curso Scrum e Métodos Ágeis 05
Curso Scrum e Métodos Ágeis 05Luiz Duarte
 
Curso Scrum e Métodos Ágeis 06
Curso Scrum e Métodos Ágeis 06Curso Scrum e Métodos Ágeis 06
Curso Scrum e Métodos Ágeis 06Luiz Duarte
 
Carreira em Agilidade
Carreira em AgilidadeCarreira em Agilidade
Carreira em AgilidadeLuiz Duarte
 
Gamification em Modelos de Maturidade
Gamification em Modelos de MaturidadeGamification em Modelos de Maturidade
Gamification em Modelos de MaturidadeLuiz Duarte
 
Curso de Node.js e MongoDB - 20
Curso de Node.js e MongoDB - 20Curso de Node.js e MongoDB - 20
Curso de Node.js e MongoDB - 20Luiz Duarte
 
Curso de Node.js e MongoDB - 19
Curso de Node.js e MongoDB - 19Curso de Node.js e MongoDB - 19
Curso de Node.js e MongoDB - 19Luiz Duarte
 
Curso de Node.js e MongoDB - 18
Curso de Node.js e MongoDB - 18Curso de Node.js e MongoDB - 18
Curso de Node.js e MongoDB - 18Luiz Duarte
 
Curso de Node.js e MongoDB - 17
Curso de Node.js e MongoDB - 17Curso de Node.js e MongoDB - 17
Curso de Node.js e MongoDB - 17Luiz Duarte
 
Curso de Node.js e MongoDB - 16
Curso de Node.js e MongoDB - 16Curso de Node.js e MongoDB - 16
Curso de Node.js e MongoDB - 16Luiz Duarte
 
Curso de Node.js e MongoDB - 15
Curso de Node.js e MongoDB - 15Curso de Node.js e MongoDB - 15
Curso de Node.js e MongoDB - 15Luiz Duarte
 
Curso de Node.js e MongoDB - 14
Curso de Node.js e MongoDB - 14Curso de Node.js e MongoDB - 14
Curso de Node.js e MongoDB - 14Luiz Duarte
 

Mais de Luiz Duarte (20)

Mecanismo de busca em Node.js e MongoDB
Mecanismo de busca em Node.js e MongoDBMecanismo de busca em Node.js e MongoDB
Mecanismo de busca em Node.js e MongoDB
 
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...
FDP, DEEP, INVEST e SMART: entendendo a sopa de letrinhas que todo PO deve co...
 
Team Building: Passo a Passo
Team Building: Passo a PassoTeam Building: Passo a Passo
Team Building: Passo a Passo
 
Curso Scrum e Métodos Ágeis 07
Curso Scrum e Métodos Ágeis 07Curso Scrum e Métodos Ágeis 07
Curso Scrum e Métodos Ágeis 07
 
Curso Scrum e Métodos Ágeis 04
Curso Scrum e Métodos Ágeis 04Curso Scrum e Métodos Ágeis 04
Curso Scrum e Métodos Ágeis 04
 
Curso Scrum e Métodos Ágeis 02
Curso Scrum e Métodos Ágeis 02Curso Scrum e Métodos Ágeis 02
Curso Scrum e Métodos Ágeis 02
 
Curso Scrum e Métodos Ágeis 03
Curso Scrum e Métodos Ágeis 03Curso Scrum e Métodos Ágeis 03
Curso Scrum e Métodos Ágeis 03
 
Curso Scrum e Métodos Ágeis - Introdução
Curso Scrum e Métodos Ágeis - IntroduçãoCurso Scrum e Métodos Ágeis - Introdução
Curso Scrum e Métodos Ágeis - Introdução
 
Curso Scrum e Métodos Ágeis 01
Curso Scrum e Métodos Ágeis 01Curso Scrum e Métodos Ágeis 01
Curso Scrum e Métodos Ágeis 01
 
Curso Scrum e Métodos Ágeis 05
Curso Scrum e Métodos Ágeis 05Curso Scrum e Métodos Ágeis 05
Curso Scrum e Métodos Ágeis 05
 
Curso Scrum e Métodos Ágeis 06
Curso Scrum e Métodos Ágeis 06Curso Scrum e Métodos Ágeis 06
Curso Scrum e Métodos Ágeis 06
 
Carreira em Agilidade
Carreira em AgilidadeCarreira em Agilidade
Carreira em Agilidade
 
Gamification em Modelos de Maturidade
Gamification em Modelos de MaturidadeGamification em Modelos de Maturidade
Gamification em Modelos de Maturidade
 
Curso de Node.js e MongoDB - 20
Curso de Node.js e MongoDB - 20Curso de Node.js e MongoDB - 20
Curso de Node.js e MongoDB - 20
 
Curso de Node.js e MongoDB - 19
Curso de Node.js e MongoDB - 19Curso de Node.js e MongoDB - 19
Curso de Node.js e MongoDB - 19
 
Curso de Node.js e MongoDB - 18
Curso de Node.js e MongoDB - 18Curso de Node.js e MongoDB - 18
Curso de Node.js e MongoDB - 18
 
Curso de Node.js e MongoDB - 17
Curso de Node.js e MongoDB - 17Curso de Node.js e MongoDB - 17
Curso de Node.js e MongoDB - 17
 
Curso de Node.js e MongoDB - 16
Curso de Node.js e MongoDB - 16Curso de Node.js e MongoDB - 16
Curso de Node.js e MongoDB - 16
 
Curso de Node.js e MongoDB - 15
Curso de Node.js e MongoDB - 15Curso de Node.js e MongoDB - 15
Curso de Node.js e MongoDB - 15
 
Curso de Node.js e MongoDB - 14
Curso de Node.js e MongoDB - 14Curso de Node.js e MongoDB - 14
Curso de Node.js e MongoDB - 14
 

Curso Corona SDK - Módulo 2

  • 1. Luiz Fernando Duarte Junior http://www.luiztools.com.br
  • 2.  Introdução ao Lua  Funcionamento  Sintaxe  Mercado  Referências
  • 3.  Lua é uma linguagem de programação interpretada, imperativa, de script, procedural, pequena e leve, projetada para expandir aplicações em geral, por ser uma linguagem extensível (que une partes de um programa feitas em mais de uma linguagem), para prototipagem e para ser embarcada em softwares complexos, como jogos.
  • 4.  Criada na PUC-Rio para ser usada na Petrobras em 1993  extensível  Tipada dinamicamente  Bytecodes  Garbage collector e auto mem management
  • 5.  Permite executar código C  Multiplataforma (qualquer uma que rode C, como Windows, Linux, Mac OS, Android e iOS)
  • 6.  A compilação dos arquivos .lua gera bytecodes Lua  O interpretador Lua, escrito em C, lê e interpreta estes bytecodes  O programa final é executado em Assembly, assim como no C  Teste online: http://www.lua.org/demo.html
  • 7.  Semelhante ao Python, Ruby e Javascript  Tipagem dinâmica  Strings (‘palavra’ ou “palavra”)  Números (10 ou 10.5)  Booleano (true e false)  Nulo (nil)  Arquivos .lua
  • 8.  Variáveis locais e globais (local)  Funções locais e globais (local function - end)  If – then – else – elseif - end  Impressão no console (print)  and – or - > - < - == - ~=  +, -, *, /, %, ^
  • 9.  Métodos e funções ( ‘.’ e ‘:’)  Linkando arquivos (require)  Concatenação (..)  Conversão automática de tipo  ; opcional  while – do – end  repeat – until
  • 10.  break e return  Tables {}  cliente.nome, cliente[“nome”] ou cliente[1]  1-based arrays  # - lenght operator  Biblioteca ‘math’  Biblioteca ‘string’  Biblioteca ‘io’ e ‘file’
  • 11.  Processamento de texto  Robótica  Desenvolvimento de games (Angry Birds, Civilization, Fable, Ragnarok, Tibia, World of Warcraft)  Lucas Arts utiliza Lua em alguns jogos  Adobe utiliza Lua em alguns softwares
  • 12.  Site Oficial: http://www.lua.org/  Wiki Oficial: http://lua-users.org/wiki/  Meu blog: http://www.luiztools.com.br