在 Raku 中获得 Bag 收藏中价值最高的物品

Lar*_*een 7 raku

my $coll=bag <1 2 2 3 2 4 4 2 2>;
say $coll; # => Bag(1, 2(5), 3, 4(2))
Run Code Online (Sandbox Code Playgroud)

如何2(5)从这个 Bag 集合中获取具有最大价值的项目(键)?

(可选)有没有办法告诉 Bag 只计算那些连续的元素而忽略所有不连续的元素,以便结果是Bag(2(4), 4(2))

Eli*_*sen 9

要回答你的第一个问题,有一个方法:

say $coll.maxpairs; # 2 => 5
Run Code Online (Sandbox Code Playgroud)

回答你的第二个问题:不,你不能。您只能设计一些逻辑,在到达Bag.

 <1 2 2 3 2 4 4 2 2>.map( *somelogic* ).Bag
Run Code Online (Sandbox Code Playgroud)

将 *somelogic* 部分作为练习留给读者。