2016-11-23 43 views
0

假設我有一個class Alex方法定義後運行的Ruby方法

class AB < Alex 
    some_definition_here # it changes some class variables 
end 

我的問題是:是否有像self.included上課這是唯一一類被定義後執行什麼?我只想在某些類變量被更改後才能訪問類變量。

+0

「任何類似於self.included」的名稱是「對象生命週期鉤子」。 – maicher

回答

0

是的,有。但這有點棘手,因爲在Ruby中沒有開放類概念,所以沒有「類定義」的概念。

你在找什麼是TracePoint。可能的用法:

TracePoint.new(:end) do |tp| 
    if tp.self.name == 'AB' 
     # DO SOME STUFF 
     # at this very moment class was closed with end for the 1st time 
     tp.disable 
    end 
    end.enable