Ruby 程式設計/參考/物件/RubyVM
外觀
RubyVM 非常依賴於 VM(如上所述)。目前僅針對 1.9.x MRI 定義。
僅在 1.9 上可用,這基本上是 yarv 的包裝器。
>> class A; def go; end; end >> b = A.new.method(:go) => # >> print RubyVM::InstructionSequence.disassemble b == disasm: ======================= 0000 trace 8 ( 1) 0002 putnil 0003 trace 16 ( 1) 0005 leave
我相信這些跟蹤方法代表對任何 Kernel#set_trace_func(或該 ruby 方法的 C 對應項)的呼叫。
還要注意,使用 1.9.2,您可以傳遞一個 proc。