将类子例程作为回调传递

时间:2015-11-30 07:07:00

标签: perl anyevent

我正在使用一个采用回调的模块(AnyEvent :: Socket)。 我试图传递一个类子程序作为回调,但没有任何工作 例如:

tcp_server undef, $self->port,\$self->handle_connection

它只是不起作用,它抱怨未定义的变量。如果我将该函数作为匿名子例程传递它可以工作

2 个答案:

答案 0 :(得分:5)

您可以传递一个调用对象方法的匿名函数

sub{ $self->handle_connection }

答案 1 :(得分:1)

curry模块是为这类事物而构建的

use curry;

tcp_server undef, $self->port, $self->curry::handle_connection