定义了方法之后运行的Ruby方法

时间:2016-11-23 09:57:57

标签: ruby class oop

假设我有class Alex

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

我的问题是:对于只有在定义了类后才执行的类,有没有类似self.included的内容?我希望只有在更改了一些类变量后才能访问类变量。

1 个答案:

答案 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