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 <[email protected]> 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