Perl添加数组与另一个数组



我可以浏览下面的代码,它试图添加两个数组。有人能解释一下14是怎么计算的吗?

my @a = (1,2,5)+(8,9);
print "@a";
output: 14

$a[0] = 14 => 5+9

+操作符在两个列表上施加标量上下文,因此取最后的元素并添加,

# in scalar context $x is assigned with last element
my $x = (1,2,5);
print "$x is $xn";

输出$x is 5

warnings pragma也会抱怨,给你一个暗示,有些可疑的事情正在发生,

Useless use of a constant (8) in void context

开头:

my @a = (1,2,5)+(8,9);

当在scalar上下文中使用list时,返回最后一个元素。详情请咨询What is the difference between a list and an array?

因此以上两个列表简化为:

my @a = 5 + 9;

在数学上等于:

my @a = (14);

相关内容

最新更新