5. Ejecución de Scripts
Lua es un lenguage de programación extensible diseñado para una programación
procedimental general con utilidades para la descripción de datos. También ofrece un
buen soporte para la programación orientada a objetos, programación funcional y pro-
gramación orientada a datos. Se pretende que Lua sea usado como un lenguaje de script
potente y ligero para cualquier programa que lo necesite. Lua está implementado como
una biblioteca escrita en C limpio (esto es, en el subconjunto común de ANSI C y C++).
Siendo un lenguaje de extensión, Lua no tiene noción de programa principal (main):
sólo funciona embebido en un cliente anfitrión, denominado programa contenedor o
simplemente anfitrión (host). Éste puede invocar funciones para ejecutar un trozo de
código Lua, puede escribir y leer variables de Lua y puede registrar funciones C pa-
ra que sean llamadas por el código Lua. A través del uso de funciones C, Lua puede
ser aumentado para abarcar un amplio rango de diferentes dominios, creando entonces
lenguajes de programación personalizados que comparten el mismo marco sintáctico.
La distribución de Lua incluye un programa anfitrión de muestra denominado lua, que
usa la biblioteca de Lua para ofrecer un intérprete de Lua completo e independiente.
5.1. Ejemplos de Scripts
5.1.1. Temporización en segundos
Cuando es necesario introducir una demora, mayor a 1 segundo y en cantidades
enteras de segundos, se puede utilizar el siguiente script:
Startup
TiempoInicial = os.time()
1
Continuous
i f
os.difftime(os.time(),TiempoIncial)>1
1
2
TiempoInicial = os.time()
3
-- Escriba su codigo aca --
4
5
end
6
En el Startup se define una variable "Tiempo Inicial" que almacena una cantidad
que propociona la function os.time()
En Continous, el condicional if, evalúa la diferencia "os.difftime" actual entre
os.time() y el valor almacenado antes en TiempoInicial; si esta diferencia es mayor
que 1, se ejecuta una instrucción que actualiza el valor de la variable TiempoInicial y
3651 Pegasus Dr. Ste. 117 Bakersfield, CA 93308 USA.
Tel: (661) 412-3494 – email:
http://www.izitechnology.com
then
IZI Technology Inc.