Como a variável de escopo de trabalho em uma sessão POE?
-
21-08-2019 - |
Pergunta
Alguém pode explicar como escopo de variáveis ??funciona dentro de uma sessão POE? O que é a maneira correta de passar estado dentro da sessão, sem afetar outras sessões?
Graças Josh
Solução
Escopo é afetado por POE.
Você pode usar o montão de POE (acessível através $_[HEAP]
) para passar dados ao redor entre seus vários manipuladores.
De acordo com os docs , a pilha é distinta entre as sessões por padrão, mas é possível substituir esse para que as sessões diferentes compartilham um montão.
sub my_state_handler {
$_[HEAP]{some_data} = 'foo';
$_[KERNEL]->yield('another_handler');
}
sub another_handler {
print $_[HEAP]{some_data}, "\n"; # prints "foo\n"
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow