如何在POE会话变量范围的工作?
-
21-08-2019 - |
题
任何人都可以解释作用域如何变量POE会话中的作品?什么是会话中通状态的正确方法,在不影响其他会话?
由于 约什
解决方案
作用域是不受POE。
您可以使用POE的堆(通过$_[HEAP]
访问)来绕过你的各种处理器之间的数据。
根据该文档一>,堆是通过默认会话之间不同,但也可以覆盖此,使得不同的会话共享堆。
sub my_state_handler {
$_[HEAP]{some_data} = 'foo';
$_[KERNEL]->yield('another_handler');
}
sub another_handler {
print $_[HEAP]{some_data}, "\n"; # prints "foo\n"
}
不隶属于 StackOverflow