Ruby的执行堆栈是什么样的?

时间:2017-08-03 10:21:27

标签: ruby stack execution

我发现one webpage描述了Ruby的执行堆栈的样子。它说Ruby有七个堆栈:

enter image description here

这篇文章是真的吗?

2 个答案:

答案 0 :(得分:3)

本文重点介绍ruby在1.7到1.8版本中的工作方式。随着YARV的推出,事情发生了很大变化。为了更好地理解Ruby如何在内部工作,我建议Ruby Under a Microscope。有关Ruby执行堆栈如何工作的章节

答案 1 :(得分:0)

不,这并没有描述Ruby的工作原理。这描述了MRI如何工作。 MRI只是Ruby的众多实现中的一种。 Ruby Programming Language没有为内存管理指定任何特定的实现策略。在没有任何堆栈的情况下实现Ruby是完全有效的。

Ruby有很多实现。目前使用最广泛的是YARV,但还有MRuby,JRuby,MagLev,Ruby + OMR,TruffleRuby,Rubinius(最后三个是最有趣的IMO)。 MRI甚至不再维持。在过去,还有IronRuby,IronRuby(是的,实际上,有两个不同的实现具有该名称),Ruby.NET,tinyrb,XRuby,SmallRuby,BlueRuby,Cardinal等等。

AFAIK,这些都没有按照此处描述的方式进行,只有MRI确实如此。