Using Director > Writing Scripts with Lingo > About variables > Storing and updating values in variables |
![]() ![]() ![]() |
Storing and updating values in variables
Variables can hold any of the types of information found in Director: numbers, strings, TRUE
or FALSE
values, symbols, lists, or the result of a calculation. To store and retrieve the values of properties and variables, Lingo uses the equals (=
) operator and the set
and put
commands.
Also, a variable in Lingo can contain different types of data at different times. (The ability to change a variable's type distinguishes Lingo from other languages such as Java, in which a variable's type cannot be changed.)
For example, the statement set x = 1
creates the variable x
, which is an integer variable because you assigned the variable an integer. If you subsequently use the statement set x = "one"
, the variable x
becomes a string variable, because the variable now contains a string.
Some properties cannot be set, but can only be tested. Often these are properties that describe some condition that exists outside Director's control. For example, you cannot assign a value to the numChannels
cast member property, which indicates the number of channels within a Shockwave movie. However, you can retrieve the number of channels by referring to the numChannels
property of a cast member.
To assign a value to a variable:
Use the equals (=
) operator. For improved readability, you can use the optional set
command at the beginning of the statement.
For example, any of these statements will change the cast member assigned to sprite 2 by setting the sprite's member
property to a different cast member. The last two statements use dot syntax (see Dot syntax):
set the member of sprite 2 = member "Big Flash" set sprite (2).member = member ("Big Flash") sprite (2).member = member ("Big Flash")
As another example, each of these statements assigns a URL to the variable placesToGo
:
placesToGo = "http://www.macromedia.com" set placesToGo = "http://www.macromedia.com"
Variables can also hold the results of mathematical operations. Both of these statements add the result of an addition operation to the variable mySum
:
mySum = 5 + 5 set mySum = 5 + 5
It's good practice to use variable names that indicate what the variable is used for. This will make your Lingo easier to read. For example, the variable mySum
indicates that the variable contains the sum of numbers.
To test the values of properties or variables:
Use the put
command in the Message window or check the values in the Watcher window.
For example, the statement put myNumber
displays the value assigned to the variable myNumber
in the Message window.
As another example, the following statement returns the cast member assigned to sprite 2 by retrieving the sprite's member
property:
put the member of sprite 2
![]() ![]() ![]() |