2016-01-02 56 views
8

Perl'de , operatörü Listeleri birleştirmek için kullanılabilir; ancak, Perl 6, bu bağlamdaki Listeleri iki Listeler Listesi ile sonuçlandırmaz. Listelerin birleştirilmesi, kayma operatörü | kullanılmasını gerektirir.Perl 6 Slip olmadan Birleştirme?

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

Bu işlem için herhangi bir kısa yol var mı?

cevap

10

Bunun için "düz" sub kullanabilirsiniz:

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

veya 'benim @ab = (@a, b'yi) .flat;' – Joshua

+3

Bu muhtemelen birden fazla katman kaldıracaktır işaret olmalıdır Değerler skaler değilse. 'listemim = (1,2, (3,4, (5,6))); düz list '=>' (1 2 3 4 5 6) 'deyin fakat' |() 'yi kullanarak sadece tek tek parçalarım \ 'listemim = (1,2, | ((3,4, (5,6)))); list '=> 'demek (1 2 3 4 (5 6))' –

İlgili konular