See Original text in context
method prepend( )
Adds elements at the beginning of the buffer
.prepend( 0 );say .raku; # OUTPUT: «Buf.new(0,1,1,2,3,5,8,13,21,34,55,89)»
See Original text in context
method prepend(*@)
Warns the user that they tried to prepend onto a Nil
or derived type object.
See Original text in context
multi method prepend(Any: --> Array)multi method prepend(Any: --> Array)
Called with no arguments on an empty variable, it initializes it as an empty Array; if called with arguments, it creates an array and then applies Array.prepend
on it.
my ;say .prepend; # OUTPUT: «[]»say ; # OUTPUT: «[]»my ;say .prepend(1,2,3); # OUTPUT: «[1 2 3]»
See Original text in context
sub prepend(\array, |elems)multi method prepend(Array: \values)multi method prepend(Array: ** is raw)
Adds the elements from LIST
to the front of the array, modifying it in-place.
Example:
my = <a b c>;.prepend: 1, 3 ... 11;say ; # OUTPUT: «[1 3 5 7 9 11 a b c]»
The difference from method unshift
is that if you prepend a single array or list argument, prepend
will flatten that array / list, whereas unshift
prepends the list / array as just a single element.