在 RatStr 中§

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

method Capture(RatStr:D: --> Capture:D)

等同于 Mu.Capture

在 Version 中§

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

method Capture()

抛出 X::Cannot::Capture

在 Map 中§

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

method Capture(Map:D:)

返回一个 Capture,其中每个键(如果有)已转换为一个命名参数,其值与原始 Map 中的值相同。返回的 Capture 将不包含任何位置参数。

my $map = Map.new('a' => 2'b' => 17);
my $capture = $map.Capture;
my-sub(|$capture);                                # OUTPUT: «2, 17␤» 
 
sub my-sub(:$a:$b{
    say "$a$b"
}

在 Failure 中§

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

method Capture()

如果调用者是类型对象或 已处理的 Failure,则抛出 X::Cannot::Capture。否则,抛出调用者的 异常

在 List 中§

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

method Capture(List:D: --> Capture:D)

返回一个 Capture,其中 <List 中的每个 Pair(如果有)已转换为一个命名参数(Pair 已字符串化)。List 中的所有其他元素都按其出现的顺序转换为位置参数,即列表中的第一个非 pair 项变为第一个位置参数,其索引为 0,第二个非 pair 项变为第二个位置参数,其索引为 1,依此类推。

my $list = (75=> 2=> 17);
my $capture = $list.Capture;
say $capture.keys;                                # OUTPUT: «(0 1 a b)␤» 
my-sub(|$capture);                                # OUTPUT: «7, 5, 2, 17␤» 
 
sub my-sub($first$second:$a:$b{
    say "$first$second$a$b"
}

一个更高级的示例,演示了返回的 CaptureSignature 的匹配。

my $list = (75=> 2=> 17);
say so $list.Capture ~~ :($ where * == 7,$,:$a,:$b); # OUTPUT: «True␤» 
 
$list = (85=> 2=> 17);
say so $list.Capture ~~ :($ where * == 7,$,:$a,:$b); # OUTPUT: «False␤»

在通道中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture(Channel:D: --> Capture:D)

等同于在调用者上调用 .List.Capture

在供应中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture(Supply:D: --> Capture:D)

等同于在调用者上调用 .List.Capture

在 Int 中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture()

抛出 X::Cannot::Capture

在范围中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture(Range:D: --> Capture:D)

返回一个 Capture,其中包含 .min .max.excludes-min.excludes-max.infinite.is-int 的值作为命名参数。

在角色 Callable 中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture()

抛出 X::Cannot::Capture

在 ComplexStr 中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture(ComplexStr:D: --> Capture:D)

等同于 Mu.Capture

在角色 Blob 中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture(Blob:D:)

将对象转换为 List,然后强制转换为 Capture

在 Whatever 中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture()

抛出 X::Cannot::Capture

在 Mu 中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture(Mu:D: --> Capture:D)

返回一个 Capture,其中命名参数对应于调用者的公共属性

class Foo {
    has $.foo = 42;
    has $.bar = 70;
    method bar { 'something else' }
}.new.Capture.say# OUTPUT: «\(:bar("something else"), :foo(42))␤»

在 Signature 中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture()

抛出 X::Cannot::Capture

在 Seq 中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture()

将对象强制转换为 List,然后强制转换为 Capture

在 Capture 中§

请参阅主要文档 在上下文中 了解方法 Capture

method Capture(Capture:D: --> Capture:D)

返回自身,即调用者。

say \(1,2,3apples => 2).Capture# OUTPUT: «\(1, 2, 3, :apples(2))␤»

在 Str§

参阅 上下文中的主要文档 以了解方法 Capture

method Capture()

抛出 X::Cannot::Capture

在 Num§

参阅 上下文中的主要文档 以了解方法 Capture

method Capture()

抛出 X::Cannot::Capture

在角色 QuantHash§

参阅 上下文中的主要文档 以了解方法 Capture

method Capture()

通过先前将其强制转换为 Hash,将对象作为 Capture 返回。