LSL Variables

From Second Life Wiki
Revision as of 17:14, 9 October 2007 by Siann Beck (talk | contribs) (→‎Scope of variables: Expanded)
Jump to navigation Jump to search

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.

See Also