Types¶
Tuples¶
A tuple type is defined similarly to a tuple expression. For example, given two types
a
and b
,
the type (a, b)
represents a tuple that consists of an element of type a
and
an element of type b
. For example (felt, felt)
may be used to represent a
(2-dimensional) point.
Cairo also supports named tuples, for example (x: felt, y: felt)
represents a tuple similar
to (felt, felt)
except that the two items are named x and y, respectively.
User-defined type aliases¶
You can give a new alias for a type as follows:
using Point = (x: felt, y: felt);
Note that Point
is not a new type in this case – it is only an alias to
(x: felt, y: felt)
.
You can use Point
as an alias for this type.
For example, you may replace
local pt: (x: felt, y: felt) = (x=2, y=3);
with:
local pt: Point = (x=2, y=3);