Lua Básico - ESP8266

Embed Size (px)

Citation preview

  • 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