routine unshift

Documentation for routine unshift assembled from the following types:

class Nil

From Nil

(Nil) method unshift

method unshift(*@)

Warns the user that they tried to unshift onto a Nil.

role Buf

From Buf

(Buf) method unshift

method unshift()

Adds elements at the beginning of the buffer

$.unshift0 );
say $.perl# OUTPUT: «,1,1,2,3,5,8,13,21,34,55,89)» 

class Array

From Array

(Array) routine unshift

Defined as:

multi sub    unshift(Array:D**@values --> Array:D)
multi method unshift(Array:D: **@values --> Array:D)

Adds the @values to the start of the array, and returns the modified array. Fails if @values is a lazy list.


my @foo = <a b c>;
@foo.unshift: 13 ... 11;
say @foo;                   # OUTPUT: «[(1 3 5 7 9 11) a b c]␤»

The notes in the documentation for method push apply, regarding how many elements are added to the array.

method prepend is the equivalent for adding multiple elements from one list or array.

class Any

From Any

(Any) method unshift

Defined as:

multi method unshift(--> Array)
multi method unshift(@values --> Array)

Initializes Any variable as empty Array and calls Array.unshift on it.

my $a;
say $a.unshift# OUTPUT: «[]␤» 
say $a;         # OUTPUT: «[]␤» 
my $b;
say $b.unshift([1,2,3]); # OUTPUT: «[[1 2 3]]␤»