See Original text in context
method shift()
Takes out the first element of the buffer
.shift();say .raku; # OUTPUT: «Buf.new(1,1,2,3,5,8,13,21,34,55,89)»
See Original text in context
multi sub shift() is raw
Calls method shift
on the Positional
argument. That method, on a mutable collection that actually implements it (such as an Array
or a Buf
), is supposed to remove and return the first element, or return a Failure
if the collection is empty.
Example:
say shift [1,2]; # OUTPUT: «1»
my of Int = [1];say shift ; # OUTPUT: «1»say shift ; # ERROR: «Cannot shift from an empty Array[Int]»
See Original text in context
method shift(Array:) is nodal
Removes and returns the first item from the array. Fails if the array is empty.
Example:
my = <a b>;say .shift; # OUTPUT: «a»say .shift; # OUTPUT: «b»say .shift;CATCH ;# OUTPUT: «X::Cannot::Empty: Cannot shift from an empty Array»