2010-08-27 50 views
2
  • 我问过关于类方法的前一个问题,但我真的很想了解如何对此方法进行实例化。谢谢! =)

下面套类方法的代码为给定的数组:我知道如何设置类方法,但是如何设置实例方法?

class Testing 

    V4_RELATIONSHIP_TYPES=[1=>2,3=>4] 

    V4_RELATIONSHIP_TYPES.keys.each do |key| 
    self.class.send(:define_method, "get_#{key}_type".downcase) do 
     return GuidInfo.get_or_new(PARAMS, V4_RELATIONSHIP_TYPES[key]) 
    end 
    end 
end 

#so i can call Testing.get_1_key() 

的问题是:我怎么能得到相同的一组实例方法?

回答

4
self.send(:method, value) 
+0

非常感谢托比!对于天真的问题抱歉,不知道这是简单的,但应该猜到了。我仍然在学习所有这些动态方法,块等 – 2010-08-27 02:51:43

2
class Testing 
    V4_RELATIONSHIP_TYPES = { 1 => 2, 3 => 4 } 

    V4_RELATIONSHIP_TYPES.each do |key, value| 
    define_method("get_#{key}_type".downcase) do 
     return GuidInfo.get_or_new(PARAMS, value) 
    end 
    end 
end 

# Now you can call Testing.new.get_1_key