See Original text in context
method unshift()
Adds elements at the beginning of the buffer
.unshift( 0 );say .raku; # OUTPUT: «Buf.new(0,1,1,2,3,5,8,13,21,34,55,89)»
See Original text in context
method unshift(*@)
Warns the user that they tried to unshift onto a Nil
or derived type object.
See Original text in context
multi method unshift(Any: --> Array)multi method unshift(Any: --> Array)
Initializes Any variable as empty Array and calls Array.unshift
on it.
my ;say .unshift; # OUTPUT: «[]»say ; # OUTPUT: «[]»my ;say .unshift([1,2,3]); # OUTPUT: «[[1 2 3]]»
See Original text in context
multi sub unshift(Array, ** --> Array)multi method unshift(Array: ** --> Array)
Adds the @values
to the start of the array, and returns the modified array. Fails if @values
is a lazy list.
Example:
my = <a b c>;.unshift: 1, 3 ... 11;say ; # OUTPUT: «[(1 3 5 7 9 11) a b c]»
The notes in method push apply, regarding how many elements are added to the array.
The routine prepend is the equivalent for adding multiple elements from one list or array.