在数组中§

有关方法 shift,请参阅主要文档 in context

method shift(Array:D:is nodal

移除并返回数组中的第一个项目。如果数组为空,则失败。

示例

my @foo = <a b>;
say @foo.shift;             # OUTPUT: «a␤» 
say @foo.shift;             # OUTPUT: «b␤» 
say @foo.shift;
CATCH { default { put .^name''.Str } };
# OUTPUT: «X::Cannot::Empty: Cannot shift from an empty Array␤»

在 Buf 角色中§

有关方法 shift,请参阅主要文档 in context

method shift()

移除并返回缓冲区的第一个元素。

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

在独立例程中§

有关子例程 shift,请参阅主要文档 in context

multi shift(@ais raw

Positional 参数上调用方法 shift。对于实际实现该方法的可变集合(例如 ArrayBuf),该方法应该移除并返回第一个元素,或者如果集合为空,则返回 Failure

示例

say shift [1,2]; # OUTPUT: «1␤»
my @a of Int = [1];
say shift @a# OUTPUT: «1␤» 
say shift @a# ERROR: «Cannot shift from an empty Array[Int]␤»