2015-05-14 130 views
7

可以說我有一個名爲獲取子類的名稱

a = Person::User::Base 

我怎樣才能只叫Base最後一個子I級。

我知道如何做到這一點的方法是:

a.to_s.split('::').last 

=> "Base" 

有沒有更好的辦法?

回答

7

如果您使用的Rails(的ActiveSupport):

a.to_s.demodulize

如果使用POR(純醇 - 紅寶石),是的,這是你的方式:

a.to_s.split('::').last

+0

當我在Rails中使用這個命令我得到了結果'「Base:0x007fd84b37b948>」' –

+0

對不起,這是因爲我已經初始化一個對象!再次感謝 –