在 Map 中§

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

method keys(Map:D: --> Seq:D)

返回 Map 中所有键的 Seq

my $m = Map.new('a' => (23), 'b' => 17);
say $m.keys# OUTPUT: «(a b)␤»

在 List 中§

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

sub    keys($list --> Seq:D)
method keys(List:D: --> Seq:D)

返回列表中索引的序列(例如,0..(@list.elems-1))。

say (1,2,3,4).keys# OUTPUT: «0..3␤»

在 Any 中§

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

multi method keys(Any:U: --> List)
multi method keys(Any:D: --> List)

对于已定义的 Any,在对其调用 list 后返回其 ,否则调用 list 并返回它。

my $setty = Set(<Þor Oðin Freija>);
say $setty.keys# OUTPUT: «(Þor Oðin Freija)␤»

另请参阅 List.keys

对类尝试相同操作将返回一个空列表,因为它们中的大多数实际上没有键。

在角色 Setty 中§

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

multi method keys(Setty:D: --> Seq:D)

返回集合中所有元素的 Seq

my $s = Set.new(123);
say $s.keys;                                      # OUTPUT: «(3 1 2)␤»

在角色 Baggy 中§

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

method keys(Baggy:D: --> Seq:D)

返回 Baggy 对象中所有键的 Seq,而不考虑它们的各自权重,这与 kxxv 相反。

my $breakfast = bag <eggs spam spam spam>;
say $breakfast.keys.sort;                        # OUTPUT: «(eggs spam)␤» 
 
my $n = ("a" => 5"b" => 2).BagHash;
say $n.keys.sort;                                # OUTPUT: «(a b)␤»

在 Capture 中§

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

multi method keys(Capture:D: --> Seq:D)

返回一个 Seq,其中包含所有位置键,后跟所有命名键。 对于位置参数,键是从零开始的相应参数序号位置。

my $capture = \(235apples => (red => 2));
say $capture.keys# OUTPUT: «(0 1 2 apples)␤»

在 Pair 中§

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

multi method keys(Pair:D: --> List:D)

返回一个包含调用者 List

say (Raku => "d").keys;                           # OUTPUT: «(Raku)␤»