Professional Documents
Culture Documents
HOG A R (/ )
MD ULOS
E S P- 01 M d ul o (/ mo d ul es / es p - 01/ )
E S P- 03 M d ul o (/ mo d ul es / es p - 03/ )
TUTOR IA L E S
Co mo c o nec ta r (/ tuto ri a l s / ho w- to - c o nnec t- to - a n- es p 8266- mo d ul e/ )
C mo emp uj a r c d i g o (/ tuto ri a l s / ho w- to - p us h- c o d e- to - a n- es p 8266- mo d ul e/ )
Fundamentos Lua (/tutorials /lua- bas ic s /)
Intro d uc c i n a l a A PI G PIO (/ tuto ri a l s / i ntro d uc ti o n- to - the- g p i o - a p i / )
Intro d uc c i n a l a A PI Ti m er (/ tuto ri a l s / i ntro d uc ti o n- to - the- ti m er- a p i / )
R E C E TA S
abrir y c errar de demos trac in (/rec ipes /blink - demo/)
TIE ND A ( / S HO P / )
tutoriales
Como conectar
(/tutorials/how-toconnect-to-an-esp8266module/)
Cmo empujar cdigo
(/tutorials/how-to-pushcode-to-an-esp8266module/)
Fundamentos Lua
(/tutorials/lua-basics/)
Introduccin a la API
GPIO
(/tutorials/introductionto-the-gpio-api/)
Introduccin a la API
Timer
(/tutorials/introductionto-the-timer-api/)
Fundamentos Lua
Fundamentos Lua
comentarios
Los comentarios pueden ser delimitados de dos maneras. Ellos pueden ser colocados entre - y
el extremo de la lnea.
Texto original
print ( "Hola" ) - Este bit aqu es un comentari
o
Comments can be delimited in two ways.
Sugiere
Comentarios multilnea se pueden colocar entre - [[ y ]] . una traduccin mejor
- [[
Print ( 'Este cdigo est comentado y gan \' t se emitir ')
-]]
Los delimitadores multilnea tienen una caracterstica muy til en ese cdigo que ha sido
comentada puede ser re-introducido con un solo carcter. Mediante la adicin de un espacio
para el delimitador de inicio, ambos delimitadores se convierten en lneas de comentario.
- [[
Print ( 'Este cdigo ya no es un comentario y se emitir' )
-]]
Variables
Se puede asignar un valor de cualquier tipo con ninguna variable.
locales foo = 2
locales bar = 'Hola'
nil es un valor especial que significa una variable no est definida. Ajuste el valor de una
variable a cero , se elimina la variable y libera memoria, como si nunca hubiese existido.
locales foo = 'Hola'
foo = nil
Mesas
Lua tiene una estructura de datos que puede ser utilizado tanto como una matriz y / o como un
hash: la tabla. Las tablas se definen con llaves, {} . Una tabla matriz similar podra tener este
aspecto:
locales artculos = {}
table.insert (artculos, 12 )
table.insert (artculos, 'MOO' )
table.insert (artculos, verdadera )
-> Artculos == { 12 , 'MOO' , verdadera }
-> Artculos [ 0 ] == nil
-> Artculos [ 1 ] == 12
-> artculos [ 2 ] == 'Moo'
-> artculos [ 3 ] == verdadera
Pero una mesa tambin puede ser a la vez una matriz y un hash al mismo tiempo:
locales todoList = {}
table.insert (todoList, 'Comprar presente )
table.insert (todoList, 'Wrap presente )
todoList.deadline = '12/24/2015'
- TodoList == { 'Comprar presente' , 'Wrap presente " , fecha lmite = '
12/24/2015 ' }
funciones
El cdigo que se utiliza a menudo se puede colocar en funciones.
funcionar sayHello (receptor)
de impresin ( 'Hola,' ..recipient)
final
final
sayHello ( 'Roberto' )
sayHello ( 'Luiz' )
sayHello ( 'Waldemar' )
Estructuras de Control
SI
A CONTINUACIN,
LOS DEMS
Negacin
Las condiciones pueden ser negados utilizando no :
si no IsLoggedIn continuacin,
volver "invitado"
final
Coaccionar a booleano
Cuando coaccionar a un valor de otro tipo a un valor lgico, el nico valor que coacciona a
falso es nula ; cualquier otro valor coacciona a la verdad .
si 0 y luego
imprimir ( 'Cero coacciona a true' )
final
si '' a continuacin,
imprimir ( 'Las cadenas vacas coaccionan a true' )
final
Si {} entonces
imprimir ( 'mesas vacas coaccionan a true' )
final
si nil entonces
- Esto nunca se quedar
final
MIENTRAS
Puede recorrer mientras que una condicin se cumple antes de cada iteracin.
locales gatitos = { 'Sr. Tibbs' , 'Tufty' , 'Kipper' }
mientras #kittens> 0 hacen
locales gatito = table.remove (gatitos, 1 )
de impresin (gatito)
final
REPETIR HASTA
Puede tambin bucle hasta que se cumpla una condicin despus de una iteracin.
locales gatitos = { 'Sr. Tibbs' , 'Tufty' , 'Kipper' }
repetir
locales gatito = table.remove (gatitos, 1 )
de impresin (gatito)
hasta #kittens == 0
N U M R I C A PARA
Hay dos tipos de de bucle, numrico y genrico. El ms simple de los dos es el numrico
para :
para i = 1 , 10 hacer
- contar hasta
de impresin (i .. "banana" )
final
para i = 10 , 1 , - 1 hacerlo
- la cuenta atrs
de impresin (i .. 'botellas' verdes )
final
print ( 'i slo existe dentro del bucle, es ahora nada:' , i)
G E N R I C A DE
Tambin puede utilizar una funcin de repetidor, como ipairs () o pares () , para inyectar
valores en un bucle. Ipairs () slo itera sobre la matriz de parte de una tabla.
locales = aleatorias { 'arranque' , foo = 'bar' , 22 }
para la llave, val en ipairs (al azar) hacer
de impresin (clave, val)
final
-> 1
-> 2
de arranque
22
Consejos y trucos
L A S L L A M A D A S A F U N C I O N E S N O S I E M P R E N E C E S I TA N
PARNTESI S
Si est de paso una sola cadena literal o una sola tabla literal a una funcin, no es necesario el
uso de parntesis.
imprimir "Hola, mundo".
set Estilo {
fontFamily = 'Helvetica' ,
fontSize = 18
color = 0 xffffff
}
OP ERADOR TERNARI O
No hay operador ternario en Lua, pero es comn el uso de operadores booleanos en su lugar.
de impresin (foo == nil y "indefinido" o foo)
VA L O R E S D E R E T O R N O N O U T I L I Z A D A S
Es una prctica comn el uso de un guin para representar un valor de retorno que no tiene
intencin de usar.
para _, valor en ipairs (artculos) hacer
de impresin ( valor )
final
locales _, _, zPosition = getCoordinates ()
E S C R I B I R L A C O R R E C TA M E N T E
De Lua.org (http://www.lua.org/about.html#name) :
(https://twitter.com/esp8266couk)
Al comprar en nuestra tienda que est ayudando a Hitchin Hackspace, un grupo comunitario sin fines de lucro que promueve el
intercambio de habilidades, conocimientos y recursos. Gracias.