【发布时间】:2011-03-24 12:15:02
【问题描述】:
我认为答案是肯定的,但我只是想确定一下。所以如果我有
sub something {
my $_;
my @array = ...;
while ( @array ) {
say;
}
}
my $_; 在词法化传递给 say 的参数方面真的有效吗?
在这种特殊情况下,我使用的是DZP::UnusedVarsTests,它抱怨我没有使用my $_;,我怀疑这是一个错误,因为我在隐含的情况下使用它。
【问题讨论】:
-
请不要那样做。我不想成为追随你并不得不弄清楚这一点的程序员,特别是因为它是对 Perl 的最新更改。为什么不创建一个临时的、命名为循环范围的变量?
-
这个变化已经超过 2.5 年了,但是使用循环范围的变量是个好主意。
-
我想说我刚刚编写了一个简单的示例我有一些不是循环的地方,我正在使用默认参数。
-
据我了解,词法主题的原始实现有been deprecated。也作为另一个问题stackoverflow.com/a/28945476/2019415 的答案添加。
标签: perl lexical-scope