我试图从Class对象获得方法的定义:foo.
class Bar def foo(required_name,optional="something") puts "Hello args are #{required_name},#{optional}" end def self.bar puts "I am easy,since I am static" end end
我无法创建类的实例,因为我需要方法定义来评估我应该创建对象(应用程序需求). Bar.class.???(:foo)
我可以使用Bar.class.method(:bar)获得条形定义但当然我需要foo,谢谢!
更新:
使用Ruby 1.8.7
解决方法
您可以在类这样的类上使用方法instance_method:
Bar.instance_method(:foo)
这将返回UnboundMethod的一个实例. (见http://ruby-doc.org/core-1.9.3/UnboundMethod.html)