Wouldn't here be better to use the % sigil?

my %docents = bag @rows.map: -> @row {@row[0] xx @row[1]};


On Sat, Apr 7, 2018 at 1:02 PM, Fernando Santagata <
nando.santag...@gmail.com> wrote:

> Hi,
>
> I'm not sure that I've understood what you need.
> If you get that array of arrays from a another process @rows and you wish
> to convert it into a Bag you can do this:
>
> my @rows = [["JF", 1], ["JF", 2], ["MM", 2], ["MPu", 2], ["MM", 2], ["FE",
> 2], ["FV", 2], ["MPu", 2], ["JP", 2], ["JP", 2], ["FV", 2], ["FV", 2],
> ["JF", 2], ["MM", 2], ["MPu", 2], ["MM", 2], ["FE", 2], ["FV", 2], ["MPu",
> 2], ["JP", 2], ["JP", 2], ["JF", 4]];
> my Bag $docents = bag @rows.map: -> @row {@row[0] xx @row[1]};
> dd $docents;
>
> # Bag $docents = ("JP"=>8,"FV"=>8,"FE"=>4,"MPu"=>8,"MM"=>8,"JF"=>9).Bag
>
> Otherwise you can start collecting those pairs into a Bag from the start,
> but we would need more details then.
>
> HTH
>
>
> On Sat, Apr 7, 2018 at 12:10 PM, mimosinnet <mimosin...@gmail.com> wrote:
>
>> Hi all,
>>
>> I do not seem to be able to get this done with the Bag or BagHash type:
>>
>> ---
>> dd @rows;
>>
>> Output: Array @rows = [["JF", 1], ["JF", 2], ["MM", 2], ["MPu", 2],
>>> ["MM", 2], ["FE", 2], ["FV", 2], ["MPu", 2], ["JP", 2], ["JP", 2], ["FV",
>>> 2], ["FV", 2], ["JF", 2], ["MM", 2], ["MPu", 2], ["MM", 2], ["FE", 2],
>>> ["FV", 2], ["MPu", 2], ["JP", 2], ["JP", 2], ["JF", 4]]
>>>
>>
>> my %docents;
>> for @rows -> @row {
>>         %docents{ @row[0] } += @row[1];
>> }
>>
>> dd %docents;
>>
>> Output: Hash %docents = {:FE(4), :FV(8), :JF(9), :JP(8), :MM(8), :MPu(8)}
>>>
>>
>> ---
>>
>> As I understand it, this would better be achieved with the Bag or BagHash
>> type. What would be the easy way?
>>
>> Thanks!
>> --
>> (≧∇≦) Mimosinnet (Linux User: #463211)
>>
>
>
>
> --
> Fernando Santagata
>

Reply via email to