Documentación de Celestia

 
  4. CELX SCRIPTS  
  4.2. Variables  
 

Una variable se puede definir como el lugar donde se almacena un valor. Cada una de estas variables tiene un nombre que la identifica, el cual no debe coincidir con ninguna de las palabras reservadas del lenguaje (palabras que utiliza internamente el lenguaje de programación para entender la estructura del programa). En otros lenguajes, también suele ser necesario especificar el tipo de datos que almacena una variable (un número, una cadena de texto, un booleano,…), pero en LUA el tipo de la variable se definirá automáticamente al asignarle un valor. Por ejemplo:

a= 1

b = “Hola mundo”

Con la primera sentencia se crea una variable de nombre a de tipo numérico y con valor igual a 1, mientras que la segunda crea la variable b como una cadena de caracteres (siempre se deben escribir entre comillas dobles) y con valor “Hola mundo”. A partir de estas sentencias se podría utilizar los nombres de las variables creadas como equivalentes a los valores que se les ha asignado. También se podría modificar en cualquier momento el valor de las variables, incluso asignándoles un valor de diferente tipo. Por ejemplo, se podría escribir a continuación:

a = a + 1

b = true

En la primera sentencia la variable a pasaría a tener un valor igual a 2 (al sumar 1 al antiguo valor de a que también era 1) y en la segunda sentencia la variable b pasaría a tener un valor true de tipo booleano, sobrescribiéndose el antiguo valor.

Se debe tener cuidado con los tipos de las variables y valores que se utilizan en las operaciones. Por ejemplo, si en el mismo programa se incluyera más adelante la sentencia a + b se produciría un error, ya que el operador + no está definido para una variable numérica y una variable booleana.

Existen dos tipos de variables especiales: los objetos y las tablas. De los objetos se hablará con más detalle en el próximo apartado. Las tablas son variables que se componen de un conjunto de valores, pudiendo ser estos valores de cualquier tipo. Estas tablas pueden ser creadas vacías para definir después sus valores y las claves para accederlos o pueden especificarse los valores que almacenan al crearlas con o sin claves. En caso de no utilizar claves, los valores serán accedidos mediante la posición que ocupan en la tabla. Por ejemplo:

t = {}

t[“clave 1”] = “valor1”

t[“clave 2”] = “valor2”

u = { clave1=”valor1”, clave2=”valor2” }

v = { 1,2,3,4,5}

Las tres primeras sentencias y la cuarta crean dos tablas iguales de diferente forma, ya que en ambos casos se crearía una tabla con los elementos valor1 y valor2 accedidos a través de las claves clave1 y clave2 respectivamente. La última sentencia crea una tabla con cinco elementos que serán accedidos mediante su posición, de forma que el valor 1 ocupa la posición 1, el valor 2 ocupa la posición 2, etc.

Para acceder a los elementos de las tablas se utilizaran expresiones del tipo nombre de la tabla[“clave”/posición] o de forma equivalente nombre de la tabla.clave. Por ejemplo, después de las sentencias antes descritas, la expresión v[4] tendrá un valor 4 mientras que la expresión t.clave2 será igual a “valor2”.

 
 
Índice general