【发布时间】:2016-08-28 12:55:12
【问题描述】:
我想动态创建类方法test,为此我在instance_eval 中使用define_method 方法。我期待下面的代码创建类方法test,但代码创建的是实例方法test。这可能是什么原因?下面是我的代码。
module Accessor
def define_accessor_for_class(method)
self.instance_eval do
define_method :test do
end
end
end
end
class Employee
extend Accessor
define_accessor_for_class :name
end
Employee.name = "sanjay"
Employee.name
Employee.instance_methods(false) ==> [:test]
Employee.methods(false) => []
【问题讨论】:
标签: ruby-on-rails ruby metaprogramming