在数组中§

有关例程 unshift 的主要文档,请参阅上下文

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

@values 添加到数组的开头,并返回修改后的数组。如果 @values 是惰性列表,则失败。

示例

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

关于向数组添加多少个元素,请参阅方法 push 的文档中的注释。

例程 prepend 等效于从一个列表或数组添加多个元素。

在 Any 中§

有关方法 unshift 的主要文档,请参阅上下文

multi method unshift(Any:U: --> Array)
multi method unshift(Any:U: @values --> Array)

Any 变量初始化为空 Array 并调用其上的 Array.unshift

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

在角色 Buf 中§

有关 方法 unshift 的主要文档,请参阅上下文

method unshift()

在缓冲区的开头插入元素。

my $ = Buf.new11235 );
$.unshift0 );
say $.raku# OUTPUT: «Buf.new(0,1,1,2,3,5)␤»

在 IterationBuffer 中§

有关 方法 unshift 的主要文档,请参阅上下文

method unshift(IterationBuffer:D: Mu \value)

IterationBuffer 的开头添加给定值,并返回该值。从 Rakudo 编译器的 2021.12 版本开始可用。

在 Nil 中§

有关 方法 unshift 的主要文档,请参阅上下文

method unshift(*@)

警告用户,他们尝试对 Nil 或派生类型对象执行 unshift 操作。