Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了动态添加ruby类方法或实例方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我对 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的define_singleton_method,它正确分配给eigenclass.

大佬总结

以上是大佬教程为你收集整理的动态添加ruby类方法或实例方法全部内容,希望文章能够帮你解决动态添加ruby类方法或实例方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。