Lua Básico - ESP8266
-
Upload
robertozorrilla -
Category
Documents
-
view
296 -
download
1
Transcript of Lua Básico - ESP8266
-
7/25/2019 Lua Bsico - ESP8266
1/6
tutoriales
Como conectar(/tutorials/how-to-connect-to-an-esp8266-module/)
Cmo empujar cdigo(/tutorials/how-to-push-code-to-an-esp8266-module/)
Fundamentos Lua(/tutorials/lua-basics/)
Introduccin a la APIGPIO(/tutorials/introduction-to-the-gpio-api/)
Introduccin a la APITimer(/tutorials/introduction-to-the-timer-api/)
Fundamentos Lua
comentarios
Ellos pueden ser colocados entre - y
el extremo de la lnea.
print ( "Hola" ) - Este bit aqu es un comentario
Comentarios multilnea se pueden colocar entre - [[ y -]] .
- [[
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'
Cualquier variable puede contener valores de diferentes tipos en diferentes momentos.
locales foo = 2
foo = 'Hola'
Los comentarios pueden ser delimitados de dos maneras.
Fundamentos Lua
H O G A R ( / )
TI E N D A ( / S H O P / )
M DU L O SE S P - 0 1 M d u l o ( / m o d u l e s / e s p - 0 1 / )E S P - 0 3 M d u l o ( / m o d u l e s / e s p - 0 3 / )T U T O R I A L E SC o m o c o n e c t a r ( / t u t o r i a l s / h o w - t o - c o n n e c t - t o - a n - e s p 8 2 6 6 - m o d u l e / )C m o e m p u j a r c d i g o ( / t u t o r i a l s / h o w - t o - p u s h - c o d e - t o - a n - e s p 8 2 6 6 - m o d u l e / )F u n d a m e n t o s L u a ( / t u t o r i a l s / l u a - b a s i c s / )I n t r o d u c c i n a l a A P I G P I O ( / t u t o r i a l s / i n t r o d u c t i o n - t o - t h e - g p i o - a p i / )I n t r o d u c c i n a l a A P I T i m e r ( / t u t o r i a l s / i n t r o d u c t i o n - t o - t h e - t i m e r - a p i / )R E C E T A Sa b r i r y c e r r a r d e d e m o s t r a c i n ( / r e c i p e s / b l i n k - d e m o / )
E S P 8 2 6 6 ( / )
Texto original
Comments can be delimited in two ways.
Sugiere una traduccin mejor
http://esp8266.co.uk/shop/http://esp8266.co.uk/tutorials/introduction-to-the-timer-api/http://esp8266.co.uk/tutorials/lua-basics/http://esp8266.co.uk/http://esp8266.co.uk/tutorials/introduction-to-the-timer-api/http://esp8266.co.uk/http://esp8266.co.uk/recipes/blink-demo/http://esp8266.co.uk/tutorials/introduction-to-the-timer-api/http://esp8266.co.uk/tutorials/introduction-to-the-gpio-api/http://esp8266.co.uk/tutorials/lua-basics/http://esp8266.co.uk/tutorials/how-to-push-code-to-an-esp8266-module/http://esp8266.co.uk/tutorials/how-to-connect-to-an-esp8266-module/http://esp8266.co.uk/modules/esp-03/http://esp8266.co.uk/modules/esp-01/http://esp8266.co.uk/shop/http://esp8266.co.uk/http://esp8266.co.uk/tutorials/introduction-to-the-timer-api/http://esp8266.co.uk/tutorials/introduction-to-the-gpio-api/http://esp8266.co.uk/tutorials/lua-basics/http://esp8266.co.uk/tutorials/how-to-push-code-to-an-esp8266-module/http://esp8266.co.uk/tutorials/how-to-connect-to-an-esp8266-module/ -
7/25/2019 Lua Bsico - ESP8266
2/6
-
7/25/2019 Lua Bsico - ESP8266
3/6
final
sayHello ( 'Roberto' )
sayHello ( 'Luiz' )
sayHello ( 'Waldemar' )
Una funcin puede devolver varios valo res.
funcin getCoordinates ()
de retorno 12 , 55 , 123
final
locales x, y, z = getCoordinates ()
print (x, y, z) -> 12 55 123
Estructuras de Control
S I A C O N T I N U A C I N , L O S D E M S
Puede ejecutar una sentencia si se cumple una condicin particular.
si kittenCount> 0 entonces
imprimir ( 'Tienes gatito (s)' )
final
Tambin puede bifurcar la ejecucin en muchos caminos.
si kittenCount == 0 y luego
imprimir ( "No tiene gatitos ' )
elseif kittenCount == 1 luego
de impresin ( "Usted tiene un gatito ' )
cosa
de impresin ( " Usted tiene muchos gatitos' )
final
Negacin
Las condiciones pueden ser negados utilizando no :
si no IsLoggedIn continuacin,
volver "invitado"
final
Cuidado con el raro operador "es igual a", ~ = .
si kittenCount ~ = 0 y luego
imprimir ( "Usted tiene gatitos! ' )
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
-
7/25/2019 Lua Bsico - ESP8266
4/6
Si {} entonces
imprimir ( 'mesas vacas coaccionan a true' )
final
si nil entonces
- Esto nunca se quedar
final
M I E N T R A S
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
R E P E T I R H A S T A
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 P A R A
Hay dos tipos de de bucle, numrico y genrico. El ms simple de lo s 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 D E
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 de arranque
-> 2 22
(pares) itera sobre todas las propiedades de una tabla.
locales = aleatorias { 'arranque' , foo = 'bar' , 22 }
para la llave, val en pares (al azar) hacer
-
7/25/2019 Lua Bsico - ESP8266
5/6
de impresin (clave, val)
final
-> 1 de arranque
-> 2 22
-> Foo bar
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 T A N
P A R N T E S I 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
}
O P E R A D O R T E R N A R I 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 T A M E N T E
De Lua.org (http: //www.lua.org/about.html#name) :
"Lua" (pronunciado LOO-ah) significa "luna" en portugus. Como tal, no es ni un
acrnimo ni una abreviatura, pero un sustantivo. Ms especficamente, "Lua" es un
nombre, el nombre de la luna de la Tierra y el nombre de la lengua. Como la mayora
de nombres, debe escribirse en minsculas con un capital inicial, es decir, "Lua". Por
favor, no l o escriba como "LUA", que es a la vez feo y confuso, ya que entonces se
convierte en un acrnimo con diferentes significados
(http://acronyms.thefreedictionary.com/lua) para diferentes personas. As que, por
favor, escribir "Lua" derecho!
Palabras: paulcuth (https://twitter.com/paulcuth)
https://twitter.com/paulcuthhttp://acronyms.thefreedictionary.com/luahttp://www.lua.org/about.html#name -
7/25/2019 Lua Bsico - ESP8266
6/6
Imagen de Cabecera: fdecomite (https://www.flickr.com/photos/fdecomite/2710132377)
Editar: Enviar solicitud de extraccin (https://github.com/hackhitchin/esp8266-co-
uk/blob/master/tutorials/lua-basics.md)
(htt
Al comprar en nuestra tienda que est ayudando a Hitchin Hackspace, un grupo comunitario sin fines de lucro que promueve el
intercambio de habili dades, conocimientos y recursos. Gracias.
https://twitter.com/esp8266coukhttps://github.com/hackhitchin/esp8266-co-uk/blob/master/tutorials/lua-basics.mdhttps://www.flickr.com/photos/fdecomite/2710132377