In IterationBuffer§
See primary documentation in context for method AT-POS
multi method AT-POS(IterationBuffer:D: int $pos) multi method AT-POS(IterationBuffer:D: Int:D $pos)
Returns the value at the given element position, or Mu
if the element position is beyond the length of the IterationBuffer
, or an error will be thrown indicating the index is out of bounds (for negative position values).
In Subscripts§
See primary documentation in context for method AT-POS
multi method AT-POS (::?CLASS:D: $index)
Expected to return the element at position $index
. This is what postcircumfix [ ]
normally calls.
If you want an element to be mutable (like they are for the built-in Array
type), you'll have to make sure to return it in the form of an item container that evaluates to the element's value when read, and updates it when assigned to. Remember to use return-rw
or the is rw
routine trait to make that work; see the example.
In role Sequence§
See primary documentation in context for method AT-POS
multi method AT-POS(::?CLASS:D: Int:D $idx) multi method AT-POS(::?CLASS:D: int $idx)
Returns the element at position $idx
in the cached sequence.
In role Positional§
See primary documentation in context for method AT-POS
method AT-POS(\position)
Should return the value / container at the given position.
In Range§
See primary documentation in context for method AT-POS
multi method AT-POS(Range:D: int \pos) multi method AT-POS(Range:D: int:D \pos)
Checks if the Int
position exists and in that case returns the element in that position.
say (1..4).AT-POS(2) # OUTPUT: «3»