有些东西没有打印

我想知道没有打印“00”的原因:

my @compass_points = ('north', 'east', 'south', 'west');
my $direction = 'north-east';
unshift @compass_points, $direction;
# @compass_points contains: north-east, north, east, south and west

print ($west = pop @compass_points)."00"; 
print "11";
push @compass_points, $new_direction; # put $west back

print @compass_points;

回答

有了警告,Perl 会告诉你的。

它将后面的括号解释print为围绕它的参数,因此00附加到 的返回值print并丢弃,因为打印出现在 void 上下文中。

要么将所有参数包装成一对新的括号

print(($west = pop @compass_points) . '00');

或用于+告诉解析器括号引入一个表达式:

print +($west = pop @compass_points) . '00';

您还可以利用带有多个参数的打印功能:

print $west = pop @compass_points, '00';


以上是有些东西没有打印的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>