假设我有class Alex
。
class AB < Alex
some_definition_here # it changes some class variables
end
我的问题是:对于只有在定义了类后才执行的类,有没有类似self.included
的内容?我希望只有在更改了一些类变量后才能访问类变量。
答案 0 :(得分: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