我正在阅读Rubinius 源代码,并且不断遇到类似这样的方法:
def self.do_something
Rubinius.primitive :vm_do_something
raise SomeError, "primitive failed to do something"
end
例如,kernel/alpha.rb和kernel/bootstrap/rubinius.rb都有很多这些。它们到处都是,我似乎找不到Rubinius.primitive
定义的地方。因为我不知道它是做什么的,所以我很难理解 Rubinius 是如何完成工作的。