2016-06-10 49 views
0

我开始在codecademy上进行ruby编程,但是我可以在哪里编译我的代码来完成一个网站? 当我在C上学习一些课时,我使用了代码块来运行代码。我知道任何文本编辑器都可以运行HTML代码。那么红宝石呢?
谢谢。我可以在哪里编译我的ruby代码?

+1

[How to compile Ruby?](http://stackoverflow.com/questions/5902334/how-to-compile-ruby) –

+0

尽管提问者使用“compile”这个词,但似乎可能是这样的由于还不知道Ruby是否被正常解释,这只是一个糟糕的词选择。出于这个原因,我认为这个问题不是提名范例的恰当副本。 –

回答

0

我会刺探回答我所问的这个问题,但我不是100%确定的。如果你想更深入地讨论解释和编译之间的区别或缺乏,请阅读下面的Jorg的评论。)Ruby是一种解释型语言(这是什么意思?现在并不是很多。要执行ruby代码,你需要安装ruby。幸运的是,您可以在任何主要平台上免费使用该功能。如果你使用的是unix-y(例如linux或mac),我强烈建议通过像rvm或rbenv这样的东西来安装ruby。如果你在windows上,你可以去cygwin路线并假装它是一个unix-y环境,或者有预建的安装程序。谷歌搜索'安装红宝石'应该有一些网站,可以帮助你在或接近搜索结果的顶部。

+0

没有这样的东西作为“解释型语言”。语言是一组抽象的数学规则和限制。语言不被解释或编译。他们只是*。解释和编译是解释者或编译者的特征,而不是语言。每种语言都可以编译,每种语言都可以被解释。大多数语言都有编译和解释实现。实际上大多数现代语言实现都在同一个实现中使用。例如:所有目前维护的Ruby实现都有一个编译器。 –

+1

虽然你所说的是准确的,但我发现这个区别对大多数情况来说都是有用的。 Ruby最常见的用法是直接传递给解释器,解释器然后执行代码,相比之下,像C这样最常见的用法是先编译,然后生成的二进制文件被执行。虽然这些*都不是你使用这些语言的方式,但它们是最常见的范例。 OP可能有一天需要了解你指出的区别,但我不认为今天是那一天。 –

+0

Ruby是最常见的用法,直接传递给*编译器*,而不是解释器。该编译器的*输出*可能会或可能不会被传递给解释器,但现在没有Ruby实现可以解释Ruby代码。 YARV编译为字节码,然后解释。 Rubinius编译为字节码,然后解释或编译为本地代码。 JIT模式下的JRuby编译为JRuby IR,然后解释或进一步编译为JVM字节码。在AOT模式下的JRuby直接编译成JVM字节码,*就像'javac'一样。如果Ruby是一种解释型语言,Java也是如此。 –

相关问题