在列表中§
有关 方法尾部,请参阅主要文档 在上下文中
multi method tail(List:)multi method tail(List: --> Seq)
返回一个 Seq
,其中包含列表中最后 $n
个项目。如果 $n
<= 0,则返回一个空的 Seq
。如果未指定参数,则默认为最后一个元素。如果列表是惰性的,则抛出异常。
示例
say <a b c d e>.tail(*-3);# OUTPUT: «(d e)»say <a b c d e>.tail(2); # OUTPUT: «(d e)»say <a b c d e>.tail; # OUTPUT: «e»
在第一种情况下,$n
采用 WhateverCode
的形式,表示将从开头排除的元素数量。$n
可以是 Callable,在这种情况下,它将使用值 0
调用,或者可以转换为数字的任何其他内容,在这种情况下,它将使用该值作为输出 Seq
中的元素数量。
say <a b c d e>.tail( ); # OUTPUT: «(c d e)»
在供应中§
有关 方法尾部,请参阅主要文档 在上下文中
multi method tail(Supply:)multi method tail(Supply: Callable )multi method tail(Supply: \limit)
创建一个“尾部”供应,其语义与 List.tail 相同。
my = Supply.from-list(4, 10, 3, 2);my = .tail(2);.tap(); # OUTPUT: «32»
您可以使用 Whatever
或 Inf
调用 .tail
;这将返回一个等效于初始供应的新供应。使用 WhateverCode
调用它等效于跳过该数字。
my = Supply.from-list(4, 10, 3, 2);my = .tail( * - 2 );.tap(); # OUTPUT: «32»
此功能仅在 Raku 的 2020.07 版本中可用。
在任何中§
有关 例程尾部,请参阅主要文档 在上下文中
multi method tail() is rawmulti method tail()
返回对象的最后一个或 $n
个最后一个元素的列表。$n
可以是 Callable
,通常是 WhateverCode
,它将用于获取对象的除前 n
个元素之外的所有元素。
say (^12).reverse.tail ; # OUTPUT: «0»say (^12).reverse.tail(3); # OUTPUT: «(2 1 0)»say (^12).reverse.tail(*-7); # OUTPUT: «(4 3 2 1 0)»
从 Rakudo 编译器的 2022.07 版本开始,还有一个 tail
的“子”版本。
multi tail(\specifier, +values)
它必须将尾部说明符作为第一个参数。其余参数将转换为 Seq
,然后对其调用 tail
方法。