shift
ErrorsCollection

shift

Synthesised documentation from type/Buf type/independent-routines type/Array

From type/Buf

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)» 

From type/independent-routines

See Original text in context

multi sub shift(@ais 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 @a of Int = [1];
say shift @a# OUTPUT: «1␤» 
say shift @a# ERROR: «Cannot shift from an empty Array[Int]␤» 

From type/Array

See Original text in context

method shift(Array:D:is nodal

Removes and returns the first item from the array. Fails if the array is empty.

Example:

my @foo = <a b>;
say @foo.shift;             # OUTPUT: «a␤» 
say @foo.shift;             # OUTPUT: «b␤» 
say @foo.shift;
CATCH { default { put .^name''.Str } };
# OUTPUT: «X::Cannot::Empty: Cannot shift from an empty Array␤»