在列表中§

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

multi method eager(List:D: --> List:D)

急切求值List中的所有元素,并将其作为List返回。

my  \ll = (lazy 1..5).cache;
 
say ll[];     # OUTPUT: «(...)␤» 
say ll.eager  # OUTPUT: «(1 2 3 4 5)␤»

在任何§

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

method eager() is nodal

将调用者解释为List,急切求值,并返回该List

my  $range = 1..5;
say $range;         # OUTPUT: «1..5␤» 
say $range.eager;   # OUTPUT: «(1 2 3 4 5)␤»

在角色序列中§

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

method eager(::?CLASS:D: --> List:D)

基于调用者序列返回一个急切求值的List,并将其标记为已使用。如果在已使用的Seq上调用,则会引发类型为X::Seq::Consumed的错误。

my $s = lazy 1..5;
 
say $s.is-lazy# OUTPUT: «True␤» 
say $s.eager;   # OUTPUT: «(1 2 3 4 5)␤» 
 
say $s.eager;
CATCH {
    when X::Seq::Consumed {
        say 'Throws exception if already consumed';
    }
}
# OUTPUT: «Throws exception if already consumed␤»