كيف متغير نطاق العمل في بو الدورة ؟
-
21-08-2019 - |
سؤال
يمكن لأي شخص أن يشرح كيف متغير النطاق يعمل ضمن بو الدورة ؟ ما هي الطريقة الصحيحة لتمرير الدولة في الدورة ، دون التأثير على غيرها من الجلسات ؟
شكرا جوش
المحلول
تحديد النطاق يتأثر بو.
يمكنك استخدام بو كومة (يمكن الوصول إليها من خلال $_[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