POE セッション内で変数のスコープがどのように機能するかを説明できる人はいますか? 他のセッションに影響を与えることなく、セッション内で状態を渡す適切な方法は何ですか?
ありがとうジョシュ
POE セッション内で変数のスコープがどのように機能するかを説明できる人はいますか? 他のセッションに影響を与えることなく、セッション内で状態を渡す適切な方法は何ですか?
ありがとうジョシュ
スコーピングは POE の影響を受けません。
POE のヒープ ( からアクセス可能$_[HEAP]
) を使用して、さまざまなハンドラー間でデータを渡すことができます。
docs によると、ヒープはデフォルトでセッション間で区別されますが、これをオーバーライドして、異なるセッションがヒープを共有するようにすることができます。
sub my_state_handler {
$_[HEAP]{some_data} = 'foo';
$_[KERNEL]->yield('another_handler');
}
sub another_handler {
print $_[HEAP]{some_data}, "\n"; # prints "foo\n"
}