perl – 包含私有变量的圆括号.为什么在这种情况下使用?

perl – 包含私有变量的圆括号.为什么在这种情况下使用?,第1张

概述我正在阅读 Learning Perl 6th edition,子程序章节有这个代码: foreach (1..10) { my($square) = $_ * $_; # private variable in this loop print "$_ squared is $square.\n";} 现在我理解列表语法,即括号,用于区分列表上下文和标量上下文,如: my($num) = 我正在阅读 Learning Perl 6th edition,子程序章节有这个代码:

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 – 包含私有变量的圆括号.为什么在这种情况下使用?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1262933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存