Rubinius 鲁宾尼乌斯是做什么的?

Rubinius 鲁宾尼乌斯是做什么的?,rubinius,Rubinius,我正在通读,我不断地遇到这样的方法: def self.do_something Rubinius.primitive :vm_do_something raise SomeError, "primitive failed to do something" end 例如,两者都有很多这样的东西。它们到处都是,我似乎找不到Rubinius.primitive的定义。 因为我不知道它是怎么做的,所以我很难理解Rubimius是如何完成的。我在代码< FReNODO.NET >代码> >代码

我正在通读,我不断地遇到这样的方法:

def self.do_something
  Rubinius.primitive :vm_do_something
  raise SomeError, "primitive failed to do something"
end
例如,两者都有很多这样的东西。它们到处都是,我似乎找不到Rubinius.primitive的定义。
因为我不知道它是怎么做的,所以我很难理解Rubimius是如何完成的。<我的文章>我在代码< FReNODO.NET >代码> >代码> > Rubimius/Cuth>上,了解了<代码> RubiIII.原始< /C> >的行为是用C++代码调用它来替换它所调用的方法。调用通常调用原始的调用只在原始的某种方式失败时执行。

所以我在FrENOODE.NET RubNiIUS上进行了IRC,并了解到<代码> Rubiivi.Primult< /C> >的行为是用调用C++代码替换它调用的方法。调用
primitive
之后通常会调用
raise
,只有在
primitive
以某种方式失败时才会执行这些调用。