大佬教程收集整理的这篇文章主要介绍了在Perl中有更好的方法通过引用传递吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
use Strict; use warnings; sub repl { local *line = \$_[0]; our $line; $line = "new value"; } sub doRepl { my ($replFunC) = @_; my $foo = "old value"; $replFunc->($foo); print $foo; # prints "new value"; } doRepl(\&repl);
这样做有更清洁的方法吗?
原型不起作用,因为我正在使用函数引用(相信我有一个使用函数引用的充分理由).
我也不想在repl中使用$_ [0]因为它很难看.
您可以使用它来创建像这样的传递引用语义:
use Strict; use warnings; use Data::Alias; sub foo { alias my ($arg) = @_; $arg++; } my $count = 0; foo($count); print "$count\n";
输出为1,表示对foo的调用修改了其参数.
以上是大佬教程为你收集整理的在Perl中有更好的方法通过引用传递吗?全部内容,希望文章能够帮你解决在Perl中有更好的方法通过引用传递吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。