std::Tuple class

Instances of the Tuple class are fixed-length, immutable sequences of values.

Tuple instances are constructed using the comma operator. By convention, tuple expressions are often placed within parentheses:

(1, 2, "x")    -- 3-tuple with items 1, 2 and "x"
1, 2, "x"      -- Equivalent to above, but without parentheses

There is special syntax for constructing an empty tuple and a single-item tuple:

()             -- An empty tuple
(True,)        -- A single-item tuple

Tuple methods

length()
Return the length of the tuple.
iterator()
Return an iterator object that can be used to sequentially iterate over the tuple items, starting from the first item.

Tuple operations

Tuple objects support the following operations:

tuple[n]
Access tuple items with the indexing operator. The index n must an integer, and it can be negative. Raise the IndexError exception if the index is not within bounds.
var a = ("a", 1, True)
a[0]        -- "a"
a[-1]       -- True
tuple == x, tuple < x
Tuples can be compared for equality and for lexicographic order. All the basic comparison operators are supported: ==, !=, <, <=, > and >=. Tuples can be compared with arrays, and an array and a tuple with the same items are equivalent.
x, y, z = tuple
Tuple objects can be expanded in a multi-assignment or a variable definition. The number of items in the lvalue must equal the length of the tuple.
var a = (1, 3, "x")
var x, y, z = a    -- x gets 1, y gets 3, z gets "x"
for x in tuple
Tuple items can be enumerated with a for loop, starting from the first item.
x in tuple
Test whether a tuple contains a specific object. Return a boolean value. The test is not recursive, i.e., tuples within tuples are not searched.
Str(tuple)
Return a string representation of the tuple contents.
Hash(tuple)
Return the hash value of a tuple.