我浏览了网上下面的代码,试图添加两个数组。有人可以解释它的计算方法是什么来获得14?
my @a = (1,2,5)+(8,9);
print "@a";
output: 14
答案 0 :(得分:4)
输出为14,$a[0]
为14 => 5+9
+
运算符在两个列表上强制使用标量上下文,以便获取并添加最后一个元素,
# in scalar context $x is assigned with last element
my $x = (1,2,5);
print "\$x is $x\n";
输出$x is 5
warnings
pragma也会抱怨,告诉你一些可疑的东西,
Useless use of a constant (8) in void context
答案 1 :(得分:4)
从:
开始my @a = (1,2,5)+(8,9);
在scalar
上下文中使用列表时,将返回最后一个元素。有关详细信息,请参阅What is the difference between a list and an array?
。
因此,以上两个列表减少为:
my @a = 5 + 9;
在数学上等于:
my @a = (14);