class RubyVM::InstructionSequence

InstructionSequence 类表示 MRI 中使用的虚拟机编译后的指令序列。并非所有 Ruby 的实现都会实现这个类,并且对于实现了它的实现,定义的方法以及方法的行为可能在任何版本中都会发生变化。

有了它,你可以获得构成方法或 proc 的指令的句柄,将 Ruby 代码字符串编译成 VM 指令,并将指令序列反汇编成字符串以便于检查。如果你想了解 YARV 的工作原理,它会很有用,但它也允许你控制 Ruby iseq 编译器的各种设置。

你可以在 Ruby 源代码的 insns.def 文件中找到 VM 指令的源代码。

指令序列的结果几乎肯定会随着 Ruby 的变化而变化,因此此文档中的示例输出可能与你看到的不同。

当然,这个类是 MRI 特定的。