Intro a Lua en 5
minutos
@jeduan
Saturday, July 27, 13
Slide 2
Slide 2 text
Saturday, July 27, 13
Slide 3
Slide 3 text
2011 primer juego
iOS
Saturday, July 27, 13
Slide 4
Slide 4 text
¿Android?
Saturday, July 27, 13
Slide 5
Slide 5 text
¿Android?
Obj-C
+
Java
Saturday, July 27, 13
Slide 6
Slide 6 text
¿Android?
Obj-C
+
Java
HTML 5
Saturday, July 27, 13
Slide 7
Slide 7 text
¿Android?
Obj-C
+
Java
HTML 5
Saturday, July 27, 13
Slide 8
Slide 8 text
Saturday, July 27, 13
Slide 9
Slide 9 text
Saturday, July 27, 13
Slide 10
Slide 10 text
Saturday, July 27, 13
Slide 11
Slide 11 text
2008
Saturday, July 27, 13
Slide 12
Slide 12 text
2008
Saturday, July 27, 13
Slide 13
Slide 13 text
2011
Saturday, July 27, 13
Slide 14
Slide 14 text
2011
Saturday, July 27, 13
Slide 15
Slide 15 text
2014
Saturday, July 27, 13
Slide 16
Slide 16 text
2014 ?
Saturday, July 27, 13
Slide 17
Slide 17 text
Saturday, July 27, 13
Slide 18
Slide 18 text
Lenguaje muy pequeño
Saturday, July 27, 13
Slide 19
Slide 19 text
Lenguaje muy pequeño
Embebible
Saturday, July 27, 13
Slide 20
Slide 20 text
Lenguaje muy pequeño
Embebible
Usado en WoW
Saturday, July 27, 13
Slide 21
Slide 21 text
Lua
print 'hola mundo'
Saturday, July 27, 13
Slide 22
Slide 22 text
Lua
local str = 'string'
local num = 2
local table = {
'key' = num
}
local array = {num, num, num}
local function foo()
print 'hola'
end
Saturday, July 27, 13
Slide 23
Slide 23 text
Lua
for i = 1, #array do
print array[i]
end
Saturday, July 27, 13
Slide 24
Slide 24 text
Lua
for key, value in pairs(t) do
print key
print value
end
Saturday, July 27, 13
Slide 25
Slide 25 text
Funciones de primer nivel
local function foo()
print 'hola!'
end
timer.performWithDelay(2000, foo)
-- ...
-- hola!
Saturday, July 27, 13
Slide 26
Slide 26 text
Índice
local table = {'hola', 'mundo'}
table[0] -- nil
Saturday, July 27, 13
Slide 27
Slide 27 text
Índice
local table = {'hola', 'mundo'}
table[0] -- nil
table[1] -- 'hola'
Saturday, July 27, 13
Slide 28
Slide 28 text
Lua (gotchas)
foo()
local function foo()
print 'hola!'
end
-- attempt to call global
'foo' (a nil value)
Saturday, July 27, 13
Slide 29
Slide 29 text
Lua (gotchas)
local function foo()
print 'hola!'
end
foo()
-- hola!
Saturday, July 27, 13
Slide 30
Slide 30 text
Async
function volcan( interface, callback )
setTimeout(function(){
start_eruption()
setTimeout(function() {
rumble_sound()
callback();
}, 3000)
}, 5000)
end
Saturday, July 27, 13
Slide 31
Slide 31 text
Corutinas (async)
function volcan( interface )
wait(seconds(5))
start_eruption_volcano()
wait(minutes(2))
play("rumble_sound")
end
Saturday, July 27, 13
Slide 32
Slide 32 text
Rápido
Saturday, July 27, 13
Slide 33
Slide 33 text
Rápido
Extensiones en C
Saturday, July 27, 13
Slide 34
Slide 34 text
Rápido
Extensiones en C
Pequeño:
Fácil de optimizar
Saturday, July 27, 13
Slide 35
Slide 35 text
Rápido
http://luvit.io/
Saturday, July 27, 13
Slide 36
Slide 36 text
Rápido
Saturday, July 27, 13
Slide 37
Slide 37 text
Dónde seguir
Learn Lua in 15 minutes
http://tylerneylon.com/a/learn-lua/
Programming in Lua
http://www.lua.org/pil/
brew install lua
@jeduan
Saturday, July 27, 13