2009-09-18 64 views
0

如何從其對象中提取類的名稱?從其對象中類的名稱

例如我有一個@list對象,我知道它肯定是List類的一個實例。但是,如何直接在代碼中提取?

回答

4

這種信息是相當基本的Ruby編程。答案是:

object.class 

額外的提示下一次:嘗試在the core library documentation找到這個信息你自己。你知道你有某種對象,只要開始閱讀文檔,你會發現一些方法來滿足你的需求。有關可以在對象上執行的方法的信息可以在here找到。

1

如果你想測試一個特定的類的實例,我喜歡的東西去:

@list.is_a?(List) 
+0

這一個是不完全正確的,因爲is_a?對於所有祖先類也都返回true,所以'@ list.is_a?(Object)'也會返回true – Eimantas 2009-09-18 18:50:10

+0

這是什麼問題?如果你有一個List,它會返回true。如果你有一個List的子類,它也會返回true。在任何一種情況下似乎都適用。 – 2009-09-20 18:20:08

0

像埃德溫說,object.class會給你相應的類的對象。如果您只想要課程的名稱,請使用object.class.name