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