Ruby 的执行栈是什么样子的?
What does Ruby's execution stack look like?
我发现 one webpage 描述了 Ruby 的执行堆栈。它说 Ruby 有七个堆栈:
这篇文章是真的吗?
本文重点介绍 ruby 在 1.7 到 1.8 版本中的工作方式。随着 YARV 的引入,事情发生了很大变化。为了更好地理解 Ruby 的内部工作原理,我建议使用 Ruby Under a Microscope。有关于 Ruby 执行堆栈如何工作的章节
不,这没有描述 Ruby 的工作原理。这描述了 MRI 的工作原理。 MRI 只是 Ruby 的众多实现之一。 Ruby 编程语言没有指定任何特定的内存管理实现策略。在没有任何堆栈的情况下实现 Ruby 是完全有效的。
Ruby有很多实现。目前使用最广泛的是YARV,但还有MRuby、JRuby、MagLev、Ruby+OMR、TruffleRuby、Rubinius(后三个是最有趣的海事组织)。 MRI 甚至不再维护。过去也有IronRuby, IronRuby(是的,其实有两个不同的实现同名),Ruby.NET,tinyrb,XRuby, SmallRuby、BlueRuby、Cardinal 等等。
AFAIK,none 这些以此处描述的方式工作,只有 MRI 可以。
我发现 one webpage 描述了 Ruby 的执行堆栈。它说 Ruby 有七个堆栈:
这篇文章是真的吗?
本文重点介绍 ruby 在 1.7 到 1.8 版本中的工作方式。随着 YARV 的引入,事情发生了很大变化。为了更好地理解 Ruby 的内部工作原理,我建议使用 Ruby Under a Microscope。有关于 Ruby 执行堆栈如何工作的章节
不,这没有描述 Ruby 的工作原理。这描述了 MRI 的工作原理。 MRI 只是 Ruby 的众多实现之一。 Ruby 编程语言没有指定任何特定的内存管理实现策略。在没有任何堆栈的情况下实现 Ruby 是完全有效的。
Ruby有很多实现。目前使用最广泛的是YARV,但还有MRuby、JRuby、MagLev、Ruby+OMR、TruffleRuby、Rubinius(后三个是最有趣的海事组织)。 MRI 甚至不再维护。过去也有IronRuby, IronRuby(是的,其实有两个不同的实现同名),Ruby.NET,tinyrb,XRuby, SmallRuby、BlueRuby、Cardinal 等等。
AFAIK,none 这些以此处描述的方式工作,只有 MRI 可以。