【发布时间】:2017-12-10 21:26:46
【问题描述】:
有没有办法捕捉调用 Perl 类实例的事件?
my $obj = ExampleClass->new();
$obj(); # do something without producing error
我希望能够在类/模块定义中处理这个问题。类似于 Python 中的 __call__ 方法或 Lua 中的 __call 元方法。
【问题讨论】:
-
“调用实例”是什么意思?请注意,
$obj()是 Perl 中的语法错误。 -
短语“类实例”通常表示“对象”。但是不能“调用它”,您通常使用它来调用类中定义的方法。这不会引发“事件”(不会在任何地方发送通知)。如果您打算在使用对象时使事情发生,您可以这样做,但重要的是您的真正意思和想要做什么。请澄清问题,解释得更好。
-
类似于 Python 中的
__call__函数,或 Lua 中的__call元方法。
标签: function perl class call instance