perl - 传递函数对象并调用它

标签 perl reference

如何在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/

相关文章:

perl 在脚本和 PerlCritic 中使用 bless self

sql-server-2005 - Visual Studio数据库项目-临时表的未解析引用

c - 将指针传递给指针以在函数中重新分配

perl - 如何动态调用对象的方法?

mysql - 如何在 Perl、DBI 中显示查询时间?

perl - `bless` 在大括号构造中做什么?

perl - 有没有办法让操作系统在 CPAN 发行版中定义依赖项?

c++ - make_tuple 的构建问题 - 数组引用

c++ - 将元素添加到 vector 时,如何知道要制作对象的拷贝?

excel - 如何在vba引用库中查找函数