将 class 子例程作为回调传递

Pass a class subroutine as a callback

我正在使用一个接受回调的模块 (AnyEvent::Socket)。 我正在尝试将 class 子例程作为回调传递,但没有任何效果 示例:

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

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

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

sub{ $self->handle_connection }

curry 模块就是为这种事情而构建的

use curry;

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