Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了我应该在什么时候使用&来调用Perl子例程?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我听说人们不应该使用&调用Perl subs,即:
function($a,$b,...);
# opposed to
&function($a,...);

我知道一个参数列表变为可选,但在某些情况下,适当的使用&和你绝对不应该使用它的情况?

当忽略&amp ;?时,性能增加如何发挥作用?

解决方法

海事组织,唯一有时间有任何理由使用&是如果你获得或调用coderef,如:
sub foo() {
    print "hi\n";
}

my $x = \&foo;
&$x();

在大多数情况下,绝对不应该使用它的主要时间是调用具有指定任何非默认调用行为的原型的子。我的意思是,一些原型允许重新解释参数列表,例如将@array和%哈希规范转换为引用。所以sub会期望这些重新解释已经发生,除非你去任何长度是必要的手工模仿,sub将获得输入与其期望的疯狂地不同。

我想主要是人们试图告诉你,你仍然在写Perl 4风格,我们有一个更清洁,更好的东西叫Perl 5现在。

关于性能,有各种方式,Perl优化子呼叫,失败,其中一个主要是内联常量。

还有一种情况,其中使用&提供了性能优势:如果您使用foo(@_)转发子调用。使用& foo比foo(@_)无限小。我不会推荐它,除非你已经明确地通过分析发现,你需要微优化。

大佬总结

以上是大佬教程为你收集整理的我应该在什么时候使用&来调用Perl子例程?全部内容,希望文章能够帮你解决我应该在什么时候使用&来调用Perl子例程?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。