我被兩個東西卡住了。這是我的文件的結構。方法,返回實例方法列表
class Person
#...
def self.class_name (object)
object.class.name
end
end
class Worker < Person
#...
end
class Client < Person
#...
end
c = Client.new("1", "2", "3", "4")
Person.class_name(c)
我想創建方法,其中作爲參數,我可以把一些物體,它會檢測到,什麼類,並返回我的所有的實例方法,它不需要任何參數列表。後來我需要以某種方式使用所有這些方法。
我發現這一點:
testObject.class.name
# returns name of class as a string
Class.instance_methods(false)
# returns list of instance method, which were defined in Class
第一個問題是,我不明白爲什麼我不能讓像
className = testObject.class.name
className.instance_methods(false)
我想,那是因爲我得到了剛下課名字,作爲一個刺痛,而不是真正的提及這個班級。我甚至創建了簡單的class_name方法,它返回類的正確名稱,但我想知道如何使用instance_methods(false)
,一旦我有這個名字。還有一些選擇只選擇方法,不需要任何參數?
謝謝很多!你可能是我在任何論壇上見過的最快的人:D。 –
@DanZawadzki不客氣!這只是一個巧合,我在創建它之後才注意到你的問題:D –
一切工作正常,但我現在想着如何「激活」這些方法。你也可以給我建議一些關於ror的有用信息嗎?目前,我基於http://ruby-doc.org。有什麼我可以使用? –