LSL Variables
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
A variable is a place to store information, like a number or a string.
A variable has a name, a type, and a value. The name starts with a letter, and the name convention is similar to C or Java. Case matters. X is not the same as x.
LSL is a strongly and statically typed language. This means that variables must be declared by type and that variables may only hold values of a corresponding type. However, a list variable may hold zero or more values of any other type.
Some examples:
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>;
Scope of variables
LSL has three scopes: Global, Function and Event. Variables defined in the Global scope are accessible anywhere in the program, and retain their value through all events, function calls and state changes. Variables defined in a function or event are available only within that function or event. If you define a variable twice in the same scope, it will cause an error, but if you define a variable in a function or event scope, with the same name as a variable in the global scope, it will hide the global variable so long as control remains in that function or event. Again, the semantics are very similar to C and Java.