2016-01-02 28 views
8

पर्ल में , ऑपरेटर का उपयोग सूची को संयोजित करने के लिए किया जा सकता है; हालांकि, पर्ल 6 इस संदर्भ में सूचियों को फटकार नहीं करता है जिसके परिणामस्वरूप दो सूचियों की सूची होती है। सूचियों को जोड़ना |, पर्ची ऑपरेटर का उपयोग करने की आवश्यकता है।पर्ल 6 सूची पर्ची के बिना Concatenation?

my @a = <a b c>; 
my @b = <d e f>; 
my @ab = |@a, |@b; 

इस कार्य के लिए किसी भी आशुलिपि है?

उत्तर

10

आप "फ्लैट" उप इस के लिए उपयोग कर सकते हैं:

my @a = <a b c>; 
my @b = <d e f>; 
my @ab = flat @a, @b; 
say @ab.perl; #> ["a", "b", "c", "d", "e", "f"] 
my @abf = (@a, @b).flat; 
say @abf.perl; #> ["a", "b", "c", "d", "e", "f"] 
+1

या 'मेरी @ab = (@a, @b) .flat;' – Joshua

+3

यह शायद का कहना चाहिए कि यह कई परतों को हटा देगा यदि मान स्केलर नहीं हैं। 'मेरी \ सूची = (1,2, (3,4, (5,6))); फ्लैट सूची '=> '(1 2 3 4 5 6)' कहें, लेकिन '|()' का उपयोग करके केवल अलग-अलग हिस्सों को फ़्लैट करें 'मेरी \ list = (1,2, | ((3,4, (5,6)))); सूची '=> '(1 2 3 4 (5 6)) कहें –

संबंधित मुद्दे