List.classify विधि कुछ मैपिंग द्वारा एक सूची को हैश में बदल सकता है जिसे मैं परिभाषित करता हूं। ,क्या मैं मूल्यों को संशोधित कर सकता हूं क्योंकि मैं एक पर्ल 6 सूची वर्गीकृत करता हूं?
{
Amelia => [(Amelia 1) (Amelia 2) (Amelia 3)],
Camelia => [(Camelia 5) (Camelia 6) (Camelia 7)]
}
लेकिन मैं वास्तव में चाहते हैं चाहते हैं: कि मानचित्रण का परिणाम हैश कुंजी और मूल मूल्य
my @list = (
<Camelia 5>,
<Camelia 6>,
<Camelia 7>,
<Amelia 1>,
<Amelia 2>,
<Amelia 3>
);
my %hash = @list.classify: *.[0];
say %hash;
हैश मान सूचियों की सूची क्योंकि मूल thinygs यह वर्गीकृत सूचियों थे हो रहा है इस:
{
Amelia => (1 2 3),
Camelia => (5 6 7)
}
मैं कुछ अतिरिक्त काम कर सकता है, लेकिन यह थोड़ा बहुत ज्यादा काम लगता है:
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;
मुझे पता था कि कुछ होना था! –
जनवरी से दस्तावेज़ समस्या https://github.com/perl6/doc/issues/1162 –