【发布时间】:2019-11-15 10:02:24
【问题描述】:
我在阅读《Damian Conway 的 Perl 最佳实践》一书时遇到了以下代码示例:
sub fix {
my (@args) = @_ ? @_ : $_; # Default to fixing $_ if no args provided
for my $arg (@args) {
print $arg;
}
return;
}
能否请您帮我理解一下作者在这部分代码中到底想完成什么?
my (@args) = @_ ? @_ : $_; # Default to fixing $_ if no args provided
我了解“if”的作用,并且很清楚,当用户不为“fix() sub”提供参数时,我们会将$_ 分配给“@args”
但不清楚将$_ 分配给@args 有什么好处,因为$_ 是未定义的,对吧?
提前谢谢你。
【问题讨论】:
-
对 Perl 最佳实践持保留态度很重要,它已经过时了,而且它的许多想法从长远来看都是有害的。
-
能否建议您在哪里搜索最新鲜的 Perl 的“最佳实践”指南?
-
我不知道任何这样的书,但我和 IRC 社区的其他人遵循/推荐的一些做法编码在 Perl::Critic::Freenode 中。
-
Modern Perl 是另一个不错的选择。
标签: perl arguments subroutine