my $coll=bag <1 2 2 3 2 4 4 2 2>;
say $coll; # => Bag(1, 2(5), 3, 4(2))
Como obter o item (chave) com o maior valor, ou seja, o 2(5)
da coleção Bag?
(Opcional) Existe uma maneira de dizer à Bolsa para contar apenas os elementos sucessivos e desconsiderar todos os que não são sucessivos para que o resultado seja Bag(2(4), 4(2))
?
<1 2 2 3 2 4 4 2 2> .rotor(3=>-2, :partial) .map: { .[1] if .[1] === .[0] | .[2] }
Respostas:
Para responder à sua primeira pergunta, existe um método para isso:
Para responder à sua segunda pergunta: não, você não pode. Você só pode criar alguma lógica que pré-processe os valores antes de chegar ao
Bag
.Deixando a parte * somelogic * como um exercício para o leitor.
fonte
Bag
eu não ter vindo através domaxpairs
método. Acontece que é um método geral que se aplica a qualquer lista associativa. Não sabia disso. Bom saber.