如何在Perl中将函数a
传递给函数b
并让b
调用a
?
最佳答案
这是一个完整的工作脚本,可以演示您的要求。
sub a { print "Hello World!\n"; }
sub b {
my $func = $_[0];
$func->();
}
b(\&a);
这是一个解释:您通过说
a
来引用函数\&a
。此时,您具有功能引用;通常,通过说出func()
来调用函数,而通过说出$func->()
来调用函数引用->
语法也处理其他引用。例如,下面是处理数组和哈希引用的示例:sub f {
my ($aref, $href) = @_;
print "Here's an array reference: $aref->[0]\n"; # prints 5
print "Here's a hash ref: $href->{hello}\n"; # prints "world"
}
my @a = (5, 6, 7);
my %h = (hello=>"world", goodbye=>"girl");
f(\@a, \%h);
关于perl - 传递函数对象并调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1234640/