prepend
ErrorsCollection

prepend

Synthesised documentation from type/Buf type/Nil type/Any type/Array

From type/Buf

See Original text in context

method prepend$elems )

Adds elements at the beginning of the buffer

$.prepend0 );
say $.raku# OUTPUT: «Buf.new(0,1,1,2,3,5,8,13,21,34,55,89)» 

From type/Nil

See Original text in context

method prepend(*@)

Warns the user that they tried to prepend onto a Nil or derived type object.

From type/Any

See Original text in context

multi method prepend(Any:U: --> Array)
multi method prepend(Any:U: @values --> 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 $a;
say $a.prepend# OUTPUT: «[]␤» 
say $a;         # OUTPUT: «[]␤» 
my $b;
say $b.prepend(1,2,3); # OUTPUT: «[1 2 3]␤»

From type/Array

See Original text in context

sub prepend(\array|elems)
multi method prepend(Array:D: \values)
multi method prepend(Array:D: **@values is raw)

Adds the elements from LIST to the front of the array, modifying it in-place.

Example:

my @foo = <a b c>;
@foo.prepend: 13 ... 11;
say @foo;                   # 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.