1
누구나 POE 세션 내에서 변수 범위 지정이 작동하는 방법을 설명 할 수 있습니까? 다른 세션에 영향을주지 않고 세션 내에서 상태를 전달하는 적절한 방법은 무엇입니까?POE 세션에서 변수 범위 지정은 어떻게 작동합니까?
감사 조쉬
누구나 POE 세션 내에서 변수 범위 지정이 작동하는 방법을 설명 할 수 있습니까? 다른 세션에 영향을주지 않고 세션 내에서 상태를 전달하는 적절한 방법은 무엇입니까?POE 세션에서 변수 범위 지정은 어떻게 작동합니까?
감사 조쉬
범위 지정은 POE의 영향을받지 않습니다.
POE의 힙 ($_[HEAP]
을 통해 액세스 가능)을 사용하여 다양한 처리기간에 데이터를 전달할 수 있습니다.
According to the docs의 경우 기본적으로 세션간에 힙이 다르지만이를 대체하여 다른 세션이 힙을 공유하도록 할 수 있습니다.
sub my_state_handler {
$_[HEAP]{some_data} = 'foo';
$_[KERNEL]->yield('another_handler');
}
sub another_handler {
print $_[HEAP]{some_data}, "\n"; # prints "foo\n"
}
세션을 만들 때 말했듯이 새 힙이 힙에 사용됩니다. 세션을 만들 때 수동으로 힙을 지정할 수 있습니다. http://search.cpan.org/perldoc?POE::Session#heap_=>_ANYTHING 세션의 힙이나 배열 등에 기존 해시를 사용할 수 있습니다. – Hinrik