我知道“can”方法检查包是否具有“some_method”方法。但是,“->(animal => $x)”部分发生了什么?
$z = __PACKAGE__->can("some_method")->(animal => $x)
最佳答案
can()
将返回对方法的引用(如果存在),然后方法将使用“解除引用箭头”解除引用。您必须将其包装到 eval 中,否则如果“some_method”不存在,则会出现异常。在这里阅读更多:
关于can()
:perldoc UNIVERSAL
关于子程序的解引用:perldoc perlref
关于perl - 这样使用 'can'函数是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62170697/