|
Página 5 de 9 LSL VARIABLES Una variable es un identificador o nombre de un sitio donde almacenar la información en un script. El proceso de creación de una variable se denomina "declaración de variable" o "la definición de una variable". Una variable tiene un nombre, un tipo y un valor. El nombre debe empezar por una letra y las normas para nombrar una variable son similares a C o Java. Se diferencian las mayúsculas de las minúsculas ( case sensitive). Existen los siguientes tipos de variables : · integer , · float, · vector , · rotation, · key, · string , · list | Type | Brief Description | | integer | Numero entero desde -2,147,483,648 hasta 2,147,483,647 | | float | Numero decimal desde 1.175494351E-38 hasta 3.402823466E+38 | | vector | Tres floats de la forma < x , y , z >. normalmente para position, color, or Euler rotation | | rotation | Un quaternion rotation, formado por 4 floats, < x , y , z , s > | | key | Un UUID (string especial) usado para identificar algo SL, como pore j agent , object , sound , texture , other inventory item , or dataserver request | | string | Una secuencia de caracteres , limitados unicamente por la cantidad de memoria libre en el script | | list | Una lista heterogénea de datos | El tipo de una variable limita qué tipo de valores se pueden almacenar en el mismo. Las variables pueden ser locales o globales según donde sean declaradas dentro del script. Ver scope. Para declarar una variable, utilice este formato general: type name; Donde: · type es uno de los tipos de variable de LSL, y · name es cualquier combinación de letras (mayúsculas o minúsculas), números, o bajos (_), que no empiece con un número. Se puede declarar una variable asignando un valor inicial. Ejemplos : integer count = 2; float measure = 1.2; string chars = "Lee"; list words = ["This", "Is", "A", "List"]; list entries = ["A list may contain many types of values such as", 2, 1.2, <0.4, 0.8, 1.6>]; vector vec = <1,6,2>; Ámbito de las variables (scope) El nombre de la variable tiene de alcance (scope) desde el punto en el que se declara hasta el final del ámbito en el que está. Las variables tienen un ámbito que puede ser local o global: Una variable local es una variable que existe dentro de un bloque de código. (En un bloque definido por apertura y cierre de llaves -- {}) y sólo es accesible dentro del mismo área de script en que fue declarada. Una variable global es una variable declarada antes del default state del script , y tiene un ámbito global. Estas variables son accesibles y modificables desde todas partes del script. Sin embargo, no son accesibles fuera del script, en otros scripts Una variable no puede ser definida dos veces en el mismo ámbito de aplicación. Un variable puede ser redefinido en un ámbito interior, en cuyo caso ocultará la misma variable en el ámbito exterior. Ver ejemplo. Una vez más, la semántica es muy similar a la de C y Java. En el siguiente ejemplo vemos que el siguiente código se compilará y se ejecutará sin problemas:
integer i = 50; default { state_entry() { string i = "Hello there!"; //This WILL compile just fine, unlike in Java or C++. llOwnerSay(i); //Will say "Hello there!". There is no way to get the global variable i. } }
|