【发布时间】:2018-06-20 15:39:18
【问题描述】:
关于 Perl 5 的简单问题。
据我在阅读 perl 中字符串转换的第一章时所了解的,每个不包含数值运算中使用的数值的字符串都会自动转换为零值。
就像测试一样,我使用了以下打印语句:
print 1 + ("barney " x 4);
print "\n";
print "barney " x 4 + 1;
print "\n";
print ("barney " x 4) + 1;
由此,我希望始终接收数字 1 作为输出,因为字符串重复运算符的优先级高于求和运算符,但输出如下:
1
1
barney barney barney barney
为什么最后一个打印语句不再打印 1,而只打印了四次“barney”?最后的 1 也根本不打印
【问题讨论】:
-
您已经使用参数
"barney " x 4调用了print,并在结果中添加了一个。print("barney " x 4) + 1 -
只是为了确定:您知道
x是重复运算符,而*是乘法? -
是的,知道。
标签: perl