在 Array 中§
有关方法 elems的更多信息,请参阅主要文档 in context
method elems(Array: --> Int)
返回调用者中的元素数量。如果调用者is lazy,则抛出X::Cannot::Lazy
异常。对于定形数组,返回外部维度;如果您需要所有维度的信息,请参阅shape。
say [<foo bar ber>] .elems; # OUTPUT: «3»say (my [42;3;70]).elems; # OUTPUT: «42»try [-∞...∞].elems;say $!.^name; # OUTPUT: «X::Cannot::Lazy»
在 Metamodel::EnumHOW 中§
有关方法 elems的更多信息,请参阅主要文档 in context
method elems()
返回值的数量。
<10 20>;say Numbers.^elems; # OUTPUT: 2
在 Map 中§
有关方法 elems的更多信息,请参阅主要文档 in context
method elems(Map: --> Int)
返回存储在 Map 中的键值对数量。
my = Map.new('a', 1, 'b', 2);say .elems; # OUTPUT: «2»
在 List 中§
有关例程 elems的更多信息,请参阅主要文档 in context
sub elems( --> Int)method elems(List: --> Int)
返回列表中的元素数量。
say (1,2,3,4).elems; # OUTPUT: «4»
在 Supply 中§
有关方法 elems的更多信息,请参阅主要文档 in context
method elems(Supply: ? --> Supply)
创建一个新的供应,其中对所见值数量的更改会被发出。如果您只想每隔几秒更新一次,它还可以选择一个间隔(以秒为单位)。
在 Any 中§
有关方法 elems的更多信息,请参阅主要文档 in context
multi method elems(Any: --> 1)multi method elems(Any:)
将调用者解释为列表,并返回列表中的元素数量。
say 42.elems; # OUTPUT: «1»say <a b c>.elems; # OUTPUT: «3»say Whatever.elems ; # OUTPUT: «1»
它还将为类返回 1。
在角色 Setty 中§
有关方法 elems的更多信息,请参阅主要文档 in context
method elems(Setty: --> Int)
集合的元素数量。
在角色 Baggy 中§
有关方法 elems的更多信息,请参阅主要文档 in context
method elems(Baggy: --> Int)
返回Baggy
对象中元素的数量,而不考虑各个元素的权重。
my = bag <eggs spam spam spam>;say .elems; # OUTPUT: «2»my = ("b" => 9.4, "b" => 2).MixHash;say .elems; # OUTPUT: «1»
在 Range 中§
有关方法 elems的更多信息,请参阅主要文档 in context
method elems(Range: --> Numeric)
返回范围内的元素数量,例如,当进行迭代或用作 List
时。如果起始点大于结束点(包括将起始点指定为 ∞
的情况),则返回 0。当 Range 为惰性时(包括将结束点指定为 ∞
或将任一端点指定为 *
时),将失败。
say (1..5).elems; # OUTPUT: «5»say (1^..^5).elems; # OUTPUT: «3»
在 Blob 角色中§
有关 方法 elems 的主要文档,请 在上下文中 查看
multi method elems(Blob:)
返回缓冲区的元素数量。
my = Blob.new([1, 2, 3]);say .elems; # OUTPUT: «3»
在 Seq 中§
有关 方法 elems 的主要文档,请 在上下文中 查看
method elems(Seq:)
返回序列中的值数量。如果无法预测此数量,则会缓存并评估 Seq
直到结束。
由于无法评估无限序列直到结束,因此 应该 将此类序列声明为惰性。对惰性 Seq
调用 .elems
将 fail 并显示 X::Cannot::Lazy
。
在 Capture 中§
有关 方法 elems 的主要文档,请 在上下文中 查看
method elems(Capture: --> Int)
返回 Capture
中的位置元素数量。
my Capture = \(2, 3, 5, apples => (red => 2));say .elems; # OUTPUT: «3»
在 Uni 中§
有关 方法 elems 的主要文档,请 在上下文中 查看
method elems(Uni: --> Int)
返回调用者中的代码点数量。
在 Positional 角色中§
有关 方法 elems 的主要文档,请 在上下文中 查看
method elems()
应返回实例化对象中可用元素的数量。
在 Subscripts 中§
有关 方法 elems 的主要文档,请 在上下文中 查看
multi method elems(::?CLASS:)
预期返回一个数字,表示对象中有多少可订阅元素。用户可以直接调用,并且当从末尾对元素进行索引(如 @foo[*-1]
)时,postcircumfix [ ]
也会调用。
如果没有实现,您的类型将从 Any
继承默认实现,该实现始终为已定义的调用者返回 1
- 这很可能不是您想要的。因此,如果无法知道位置类型中的元素数量,请添加一个 fail 或 die 的实现,以避免在不知不觉中做错事。
在 IterationBuffer 中§
有关 方法 elems 的主要文档,请 在上下文中 查看
method elems(IterationBuffer: --> Int)
返回 IterationBuffer
中的元素数量。