Variables

Q-SYS Control 101 Training (Spanish) : Control de Flujo

3 ) Comunicación Básica

12m 57s

4 ) Block Controller

0m 0s

6 ) Control de Flujo

33m 58s

7 ) Término del Entrenamiento Control 101

1m 24s

Descripción de la lección

Variables 4m 59s

Haz que tu código sea más sencillo usando variables para hacer referencia a objetos en Lua y en el Block Controller.

Transcripción de video

Variables 4m 59s
0:08
Hablemos sobre variables. Has escuchado la palabra “variables” varias veces en películas de robos a
0:13
bancos cuando hablan acerca de las cosas que pueden ir mal. Puedes haber escuchado una variable
0:18
definida como “conocida - desconocida” – algo que sabes que existe, pero que no sabes qué es. Pero
0:25
la mayoría de las veces en scripting, definitivamente sabes lo que es tu variable y puedes elegir el
0:30
usar una variable para hacer que tu script será más fácil de escribir. Prefiero pensar en una variable
0:35
como una etiqueta muy conveniente para un valor que puede o no cambiar.
0:39
En algebra, posiblemente hayas visto que se usa constantemente X, Y y Z como variables: solo son
0:46
una letra que representa a otro número. En Lua, puedes definir estas variables solo escribiendo el
0:52
nombre de tu variable, el signo de igual y luego cualquier cosa que quieras que esa variable
0:57
represente.
0:58
Pero no te limites solo a letras o números, puedes usar un montón de palabras para representar
1:03
variables, y una variable puede definir un valor numérico o una cadena o una propiedad de control o
1:09
incluso una función completa o más.
1:12
Aquí hay un ejemplo donde se usa una variable para representar un valor que cambia. Asignaré la
1:17
variable “S” como la cadena “Hello” y luego haré un “print(S)”. Esto mostrará la variable s en lugar de
1:25
la letra “S”. Después, re asignaré la variable “S” a la cadena “World” y haré “print(S)” de nuevo.
1:32
Los dos comandos “print(s)” son idénticos, pero como la variable ha cambiado entre ellos mientras el
1:38
compilador corre el script, tenemos dos resultados diferentes, basados en lo que la variable tenía en
1:44
el momento en el que el comando se emitió.
1:47
De manera similar, puedes usar una variable para representar el Valor o la Cadena de un control. Esta
1:52
información no está definida dentro del campo de acción de tu script, sino que viene del entorno
1:58
normal de Q-SYS. Pero cuando imprimes tu variable, te mostrará el estado actual de ese control.
2:04
También puedes usar variables como un sencillo atajo para algo que se usa muchas veces. Por
2:09
ejemplo, si tuvieras un script muy grande en donde tienes muchas funciones que regresan la cadena
2:14
de “Mensaje Completo”.
2:16
Si quieres cambiar esta cadena después, tendrías que buscar en cada función y cambiarla línea por
2:21
línea, o pudiste haber usado una variable desde el inicio. Entonces, podrías definir la variable al
2:27
principio de tu script, así, solo tendrías que cambiar las cosas en un solo lugar y este cambio se
2:33
reflejará en cualquier parte donde se haga referencia a esta variable.
2:37
Estas variables que hemos estado creando se llaman variables globales, debido a que son válidas en
2:42
cualquier parte de tu script. Algunas veces necesitas crear una variable local, la cual se define dentro
2:48
del cuerpo de una función o estructura de control, y esa variable solo será válida dentro del entorno
2:55
de esa función. Si tienes muchas funciones que hacen cosas similares, por ejemplo, puede ser tedioso
3:00
usar variables globales como output1, output2, output 3, etc. En lugar, cada función puede crear su
3:08
propia variable local llamada “output”, la cual nunca tendrá interacción con ninguna otra cosa que no
3:14
sea su función. Veremos cómo crear funciones en el siguiente video.
3:18
En el Block Controller, puedes manipular variables con los bloques que encuentras aquí en la pestaña
3:23
de “Variables and Functions”. Usa el bloque “Create” para hacer una nueva variable, la cual puedes
3:29
definir (o no) en la otra parte del signo de igual.
3:32
Puedes dar a esta variable a un nuevo valor usando el bloque “Set”. Si necesitas hacer referencia de
3:38
esta variable, puedes usar este bloque de aquí con el nombre de la variable. Si quieres imprimir una
3:43
variable que está definida por uno o más Valores de mi Control, entonces haría algo como esto.
3:49
Cuando has crado multiples variables, verás que sus nombres están disponibles en este menú
3:53
desplegable. Fíjate que el nombre predeterminado de una variable es “foo”, el cual, y no puedo
4:00
enfatizarlo lo suficiente, te debe dar lástima.
4:03
Una última cosa en el Block Controller, fíjate que él sabe que la variable es una variable global.
4:09
Mientras que, si creas esta variable dentro del cuerpo de un bloque de función, entenderá
4:14
automáticamente que esa es una variable local. Así que no necesitas decidir si es una o la otra.
4:19
También, en el Block Controller, puedes usar el bloque Create para cada variable una sola vez.
4:25
Después de que la variable es creada, solo puedes cambiar su valor a algo más usando el bloque Set.
4:31
En Lua, puedes usar el mismo comando o incluso crear o redefinir una variable, como puedes ver en
4:37
la pestaña de Lua de estos bloques: “foo=awesome” y “foo=moreawesome”, pero el Block Controller
4:44
necesita estos dos conceptos por separado.
4:47
Y eso es todo sobre las variables. Tenemos un ejercicio de variables en tu hoja de trabajo de control,
4:53
una vez que termines, continuemos para hablar de funciones.