foreach (1..10) { my($square) = $_ * $_; # private variable in this loop print "$_ squared is $square.\n";}
现在我理解列表语法,即括号,用于区分列表上下文和标量上下文,如:
my($num) = @_; # List context,same as ($num) = @_;my $num = @_; # scalar context,same as $num = @_;
但是在foreach循环的情况下,我无法看到列表上下文是如何合适的.
我可以将代码更改为:
foreach (1..10) { my $square = $_ * $_; # private variable in this loop print "$_ squared is $square.\n";}
它的工作方式完全相同.那么为什么作者使用我的($square)时可以使用简单的我的$square?
这种情况有什么不同吗?
解决方法 你说的很对.这是多余的.在这种情况下它没有任何区别,因为您有效地强制列表上下文列出上下文 *** 作.例如.
my ( $square ) = ( $_ * $_ );
这也产生了相同的结果.所以 – 在这种情况下,没关系.但一般来说不是很好的编码风格.
总结以上是内存溢出为你收集整理的perl – 包含私有变量的圆括号.为什么在这种情况下使用?全部内容,希望文章能够帮你解决perl – 包含私有变量的圆括号.为什么在这种情况下使用?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)