Metoda może przekształcić listę w hasz według wybranego przeze mnie odwzorowania. Wynikiem tego odwzorowania jest klawisz krzyżyka i oryginalna wartośćCzy mogę modyfikować wartości, sklasyfikowując listę Perla 6?
my @list = (
<Camelia 5>,
<Camelia 6>,
<Camelia 7>,
<Amelia 1>,
<Amelia 2>,
<Amelia 3>
);
my %hash = @list.classify: *.[0];
say %hash;
Wartości hash są wykazy list ponieważ oryginalne thinygs klasyfikowane były to listy:
{
Amelia => [(Amelia 1) (Amelia 2) (Amelia 3)],
Camelia => [(Camelia 5) (Camelia 6) (Camelia 7)]
}
Ale ja tak naprawdę chcę to:
{
Amelia => (1 2 3),
Camelia => (5 6 7)
}
mogłem zrobić kilka dodatkowych prac, ale to wydaje się nieco zbyt dużo pracy:
my @list = (
<Camelia 5>,
<Camelia 6>,
<Camelia 7>,
<Amelia 1>,
<Amelia 2>,
<Amelia 3>
);
my %hash = @list
.classify(*.[0])
.kv
.map({
$^a => $^b.map: *.[*-1]
})
;
say %hash;
Wiedziałem, że musi być coś! –
Doktorze Doc od stycznia https://github.com/perl6/doc/issues/1162 –