Lingo Dictionary > Symbols > [ ] (list) |
![]() ![]() ![]() |
[ ] (list)
Syntax
[
entry1
,
entry2
,
entry3
, ...]
Description
List operator; specifies that the entries within the brackets are one of four types of lists:
![]() |
Unsorted linear lists |
![]() |
Sorted linear lists |
![]() |
Unsorted property lists |
![]() |
Sorted property lists |
Each entry in a linear list is a single value that has no other property associated with it. Each entry in a property list consists of a property and a value. The property appears before the value and is separated from the value by a colon. You cannot store a property in a linear list. When using strings as entries in a list, enclose the string in quotation marks.
For example, [6, 3, 8] is a linear list. The numbers have no properties associated with them. However, [#gears:6, #balls:3, #ramps:8] is a property list. Each number has a propertyin this case, a type of machineryassociated with it. This property list could be useful for tracking the number of each type of machinery currently on the Stage in a mechanical simulation. Properties can appear more than once in a property list.
Lists can be sorted in alphanumeric order. A sorted linear list is ordered by the values in the list. A sorted property list is ordered by the properties in the list. You sort a list by using the appropriate command for a linear list or property list.
![]() |
In linear lists, symbols and strings are case sensitive. |
![]() |
In property lists, symbols aren't case sensitive, but strings are case sensitive. |
A linear list or property list can contain no values at all. An empty list consists of two square brackets ([ ]). To create or clear a linear list, set the list to [ ]
. To create or clear a property list, set the list to [:].
You can modify, test, or read items in a list.
Lingo treats an instance of a list as a reference to the list. This means each instance is the same piece of data, and changing it will change the original. Use the duplicate
command to create copies of lists.
Lists are automatically disposed when they are no longer referred to by any variable. When a list is held within a global variable, it persists from movie to movie.
You can initialize a list in the on prepareMovie
handler or write the list as a field cast member, assign the list to a variable, and then handle the list by handling the variable.
Not all PC keyboards have square brackets. If square brackets aren't available, use the list
function to create a linear list.
For a property list, create the list pieces as a string before converting them into a useful list.
myListString = numToChar(91) & ":" & numToChar(93) put myListString -- "[:]" myList = myListString.value put myList -- [:] put myList.listP -- 1 myList[#name] = "Brynn" put myList -- [#name: "Brynn"]
Example
This statement defines a list by making the machinery
variable equal to the list:
set machinery = [#gears:6, #balls:3, #ramps:8]
Example
This handler sorts the list aList and then displays the result in the Message window:
on sortList aList alist.sort() put aList end sortList
If the movie issues the statement sortList machinery
, where machinery
is the list in the preceding example, the result is [#balls:3, #gears:6, #ramps:8].
Example
This statement creates an empty linear list:
set x = [ ]
Example
This statement creates an empty property list:
set x = [:]
See also
add
, addAt
, append
, count()
, deleteAt
, duplicate() (list function)
, findPos
, findPosNear
, getProp()
, getAt
, getLast()
, getPos()
, ilk()
, list()
, max()
, min()
, setAt
, setaProp
, sort
![]() ![]() ![]() |