role Positional
Object that supports looking up values by index
1 | Methods |
1.1 | method of |
2 | Methods that should be provided |
2.1 | method elems |
2.2 | method AT-POS |
2.3 | method EXISTS-POS |
2.4 | method STORE |
3 | See also |
4 | Type Graph |
Role for objects which support indexing them using postcircumfix:«[ ]»
(usually list-like objects). Example types with Positional role include List, Array, Range, and Buf.
Methods
method of
method of()
Returns the type constraint for elements of the positional container. Defaults to Mu.
Methods that should be provided
method elems
method elems()
Should return the number of available elements in the instantiated object.
method AT-POS
method AT-POS(\position)
Should return the value / container at the given position.
method EXISTS-POS
method EXISTS-POS(\position)
Should return a Bool
indicating whether the given position actually has a value.
method STORE
method STORE(\values, :)
This method should only be supplied if you want to support the:
my is Foo = 1,2,3;
syntax for binding your implementation of the Positional
role.
Should accept the values to (re-)initialize the object with. The optional named parameter will contain a True
value when the method is called on the object for the first time. Should return the invocant.
See also
See Methods to implement for positional subscripting for information about additional methods that can be implemented for the Positional
role.