Hi Tobias,

Almost. At least at my rakudo creates list of hash of hash and loses
data while converting to hash:

("a" => "11" => A.new(a => "a", b => "11"), "a" => "22" => A.new(a =>
"a", b => "22"), "v" => "33" => A.new(a => "v", b => "33"), "w" =>
"44" => A.new(a => "w", b => "44"), "v" => "55" => A.new(a => "v", b
=> "55")).list.item


On Fri, Jun 13, 2014 at 2:30 PM, Tobias Leich <em...@froggs.de> wrote:
> Hi, like that?
>
> class A { has $.a; has $.b };
> my @array = A.new(a=>'a', b=>'11'),
>             A.new(a=>'a', b=>'22'),
>             A.new(a=>'v', b=>'33'),
>             A.new(a=>'w', b=>'44'),
>             A.new(a=>'v', b=>'55');
>
> say @array.map({ .a => .b => $_ })
>
> OUTPUT«"a" => "11" => A.new(a => "a", b => "11") "a" => "22" => A.new(a
> => "a", b => "22") "v" => "33" => A.new(a => "v", b => "33") "w" => "44"
> => A.new(a => "w", b => "44") "v" => "55" => A.new(a => "v", b => "55")␤»
>
> Am 13.06.2014 12:36, schrieb Kamil Kułaga:
>> Hi,
>>
>> I was wondering whether following code can be rewritten using map/grep
>> construct.
>>
>>
>>     class A {
>>        has $.a;
>>        has $.b;
>>    }
>>
>>
>>    my @array= (
>>    A.new(a=>'a', b=>'11'),
>>    A.new(a=>'a', b=>'22'),
>>    A.new(a=>'v', b=>'33'),
>>    A.new(a=>'w', b=>'44'),
>>    A.new(a=>'v', b=>'55')
>>    );
>>
>>
>>
>>    my %hash;
>>    for @array -> $elem {
>>    %hash{$elem.a}{$elem.b} =$elem;
>>     }
>>
>>
>>     say %hash.perl;
>>
>> Can it?
>>
>>
>



-- 
Pozdrawiam

Kamil Kułaga

Reply via email to