में सूचियों की सूची बनाना मैं एक सरल समाधान की तलाश में हूं।पर्ल 6
मेरे पास संबंधित प्रत्यय और जड़ों की एक सूची के साथ उपसर्गों की एक सूची है।
my @prefixes = 'A'..'E';
my @suffixes = 'a'..'e';
my @roots = 1, 2;
मैं हर संभव 'शब्द' बनाने के लिए करना चाहते हैं: A1a
, B1b
... A2a
... E2e
।
my @words;
for @roots -> $r {
for @prefixes.kv -> $i, $p {
my $s = @suffixes[$i];
my $word = [~] $p, $r, $s;
@words.push: $word;
}
}
say @words; # [A1a B1b C1c D1d E1e A2a B2b C2c D2d E2e]
मुझे लगता है कि यह बहुत आसान zip
या cross
की तरह कुछ का उपयोग कर ऐसा करने के लिए संभव है, लेकिन कैसे को समझ नहीं सकता ...
'((" ए ".." ई "Z" एक ".. "ई") एक्स 1,2)। मैप (-> (($ ए, $ सी), $ बी) {"$ एक $ बी $ सी"}) ' – Christoph
या' (("ए" .. "ई "जेड" एक ".." ई ") एक्स 1,2) .flat.map (* ~ * आर ~ *) ', हालांकि मुझे यकीन नहीं था कि जब तक मैंने कोशिश की, तब तक प्राथमिकता/सहयोगीता के संबंध में कोई काम नहीं करेगा यह ... – Christoph
@ क्रिस्टोफ धन्यवाद! और वास्तव में ऐसा लगता है कि 'रोप' की 'प्राथमिकता' की तुलना में अधिक प्राथमिकता है। [डॉक्स] में [https://docs.perl6.org/language/operators#index-entry-R_reverse_meta_operator), केवल एक गुप्त वाक्यांश है: "ऑपरेंड की एसोसिएटिविटी भी उलट जाती है"। –