在 Raku 的 Bag 系列中获得价值最高的物品
Get the item with the biggest value in a Bag collection in Raku
my $coll=bag <1 2 2 3 2 4 4 2 2>;
say $coll; # => Bag(1, 2(5), 3, 4(2))
如何从这个 Bag 集合中获取具有最大价值的项目(键),即 2(5)
?
(可选)有没有办法告诉 Bag 只计算那些连续的元素,忽略所有不连续的元素,这样结果就是 Bag(2(4), 4(2))
?
要回答你的第一个问题,有一个方法:
say $coll.maxpairs; # 2 => 5
回答你的第二个问题:不,你不能。您只能设计一些逻辑,在到达 Bag
.
之前对值进行预处理
<1 2 2 3 2 4 4 2 2>.map( *somelogic* ).Bag
将 *somelogic* 部分作为练习留给 reader。
my $coll=bag <1 2 2 3 2 4 4 2 2>;
say $coll; # => Bag(1, 2(5), 3, 4(2))
如何从这个 Bag 集合中获取具有最大价值的项目(键),即 2(5)
?
(可选)有没有办法告诉 Bag 只计算那些连续的元素,忽略所有不连续的元素,这样结果就是 Bag(2(4), 4(2))
?
要回答你的第一个问题,有一个方法:
say $coll.maxpairs; # 2 => 5
回答你的第二个问题:不,你不能。您只能设计一些逻辑,在到达 Bag
.
<1 2 2 3 2 4 4 2 2>.map( *somelogic* ).Bag
将 *somelogic* 部分作为练习留给 reader。