gpt4 book ai didi

perl - 如何在运行时替换 Moose 对象的方法?

转载 作者:行者123 更新时间:2023-12-02 09:37:15 25 4
gpt4 key购买 nike

是否可以在运行时替换 Moose 对象的方法?通过查看Class::MOP::Method的源码(Moose::Meta::Method 继承自)我得出的结论是,通过这样做

 $method->{body} = sub{ my stuff }

我将能够在运行时替换对象的方法。我可以使用该方法

 $object->meta->find_method_by_name(<method_name>);

但是,这并没有完全成功。

是否可以在运行时修改方法?那么,Moose 的实现方法是什么?

最佳答案

无论驼鹿与否,这听起来都不是一个好主意。

相反,将您的对象设计为具有该方法的访问器。例如,您类(class)的用户可以使用 My::Frobnicator->frobnicator->() 获取并调用 frobnicator 方法并使用 My::Frobnicator ->frobnicator(sub { } ) 来设置它。

关于perl - 如何在运行时替换 Moose 对象的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2434823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com