2010-08-27 75 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