代码之家  ›  专栏  ›  技术社区  ›  Roger

MacRuby:objective-c运行时与ruby运行时相同

  •  3
  • Roger  · 技术社区  · 16 年前

    我没有受过正规的计算机科学教育,但我已经用Java,Ruby,jQuery编程很长时间了。

    我在查看macruby项目。我不断遇到类似于“在MacRuby objective-c运行时与ruby运行时相同”的语句。

    我知道我在问一个问题,答案取决于多年的正规教育。任何建议和讨论都会有所帮助。

    我也喜欢我在macruby中看到的东西。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Roja Buck    16 年前

    好,

    最简单的解释是MacRuby是ruby1.9vm。在早期版本中,它是YARV(Ruby 1.9的官方VM)的修改版本,而不是使用自定义类型的东西,如红宝石字符串、散列等。随着版本0.5的出现,基于LLVM框架开发了全新的VM,Ruby 1.9兼容,这是基于苹果基础类的。

    因此,你可以简单地把ruby看作mac9.1。然而,由于使用了上述基础类,因此可以与苹果本身的API提供更多的接口,这些API只提供了那些运行McRuBuy(例如HooCoCa)的附加功能。

        2
  •  0
  •   miku    16 年前

    只是关于

    但是我不明白一种语言的虚拟机如何支持另一种语言。

    部分。

    VM表示机器和编程语言之间的中间层。E、 Java(Java)字节码执行虚拟机。这个 javac 编译器获取源代码并将其编译成一种中间语言—字节码。运行应用程序时,实际上是在虚拟机内运行字节码:

    因此,可以用任何语言编写代码(例如Clojure、Scala、Rhino、, ...

    short overview 在他们的网站上。

    推荐文章