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 property—in this case, a type of machinery—associated 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`