动态添加ruby类方法或实例方法
发布时间:2020-12-16 21:36:14 所属栏目:百科 来源:网络整理
导读:我对 Ruby很新,所以还在学习.我正在研究如何动态添加方法,我成功地创建了实例方法,但是在创建类方法时并不成功. 这是我如何生成实例方法: class B def before_method puts "before method" end def self.run(method) send :define_method,method do before_
我对
Ruby很新,所以还在学习.我正在研究如何动态添加方法,我成功地创建了实例方法,但是在创建类方法时并不成功.
这是我如何生成实例方法: class B def before_method puts "before method" end def self.run(method) send :define_method,method do before_method puts "method #{method}" end end end class A < B run :m run :n end 关于创建静态方法的最佳方法的任何想法? 我的最后一个任务是寻找为类方法创建“之前”和“之后”任务的最佳方法. 解决方法
这里重新使用类方法:
class B def self.before_method puts "before method" end def self.run(method) define_singleton_method(method) do before_method puts "method #{method}" end end end 更新:使用来自Ruby 1.9的 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |