Difference between revisions of "LSL Variables"

From Second Life Wiki
Jump to navigation Jump to search
(However, a list variable may hold zero or more values of any type)
Line 5: Line 5:
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''.
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.
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:
Some examples:
Line 13: Line 13:
string  n = "Lee";
string  n = "Lee";
list    l = ["This", "Is", "A", "List"];
list    l = ["This", "Is", "A", "List"];
list    l = ["A list may contain many types of values such as", 2, 1.2, <0.4, 0.8, 1.6>];
vector  v = <1,6,2>;
vector  v = <1,6,2>;
</pre>
</pre>

Revision as of 16:14, 4 September 2007

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 l = 2;
float   x = 1.2;
string  n = "Lee";
list    l = ["This", "Is", "A", "List"];
list    l = ["A list may contain many types of values such as", 2, 1.2, <0.4, 0.8, 1.6>];
vector  v = <1,6,2>;

Scope of variables

The variable name is in scope from the point it first appears to the end of the scope it is in, or the end of the script for global variables. A name may not be defined twice in the same scope, but a name may be redefined in an inner scope, and it hides the same name at outer scope. Again, the semantics are very similar to C and Java.

See Also