回复 3# 523066680
做了个实验,结果把我看迷糊了,为什么长数组在后的时候,交换时就会自动变短:- my @a=(1..5);
- my @b=('a'..'g');
-
- (@a[0..$#b], @b[0..$#a]) = (@b, @a);
- print "\@a = @a\n\@b = @b\n\n";
-
- my @b=(1..5);
- my @a=('a'..'g');
-
- (@a[0..$#b], @b[0..$#a]) = (@b, @a);
- print "\@a = @a\n\@b = @b\n\n";
复制代码 更诡异的是,交换得到的短数组和原生数组也不太一样,好像变“聪明”了:- my @a=(1..5);
- my @b=('a'..'g');
-
- (@a[0..$#b], @b[0..$#a]) = (@b, @a);
- print "\@a = @a\n\@b = @b\n\n";
-
- (@a[0..$#b], @b[0..$#a]) = (@b, @a);
- print "\@a = @a\n\@b = @b\n\n";
复制代码 --------------------------------------------------------
卧槽,天书...mark 一个,待消化 |