A.3 JRuby(Ruby)
Ruby是一款流行的面向对象的动态编程语言,由于Ruby-on-Rails框架深受欢迎,很多Web应用程序都是使用它编写的。与Python一样,Ruby的参考实现也是基于解释器的,同时也是使用C语言编写的,但Ruby的面向对象程度比Python高,而且它们的语法也有天壤之别。在Python中,几乎一切都是公有的,但Ruby像Java一样,支持访问限定符,如private和protected。
JRuby是基于JVM的Ruby实现。虽然Ruby的主要实现MRI(Maz's Ruby Interpreter,这是根据Ruby之父Yukihiro Matsumoto命名的)发展迅速,但其他Ruby实现大都被抛弃,只有JRuby等为数不多的Ruby实现依然发展迅速。JRuby充分利用了JVM的新功能;编写本书期间,JRuby与最新的Ruby参考实现兼容。
JRuby可从http://jruby.org/网站下载。
要让Eclipse支持JRuby,可安装Eclipse动态语言工具包(Dynamic Languages Toolkit)。为此,可在Eclipse Marketplace中搜索Ruby(DLTK):

A.3.1 Ruby on Rails和JRuby
Ruby on Rails是一个深受欢迎的Web开发框架,很多用于其他语言的框架都借鉴了其最初的理念。Ruby on Rails基于模型-视图-控制器(MVC)标准范式,并倡导约定优先于配置(convention over configuration)的原则,这意味着遵循Ruby on Rail的规则时,需要编写的代码更少,这在本书前面介绍过。
JRuby与Ruby的C语言扩展不兼容,因此无法使用很多常见的Ruby依赖。好消息是, Ruby on Rails框架和JRuby能够很好地协同工作,这给基于Ruby on Rails的应用程序带来了很多可能性,因为它们可以使用JVM框架乃至Java企业版(Java EE)的功能。
与Python参考实现CPython一样,Ruby的标准实现MRI不支持在不同的CPU内核中运行多个线程,但JRuby可充分利用现代CPU的所有内核。对Ruby on Rails应用程序来说,这可能是一个很大的优点,虽然程序员编写应用程序时必须考虑并发性。
A.3.2 运行JRuby
下载并解压缩JRuby后,将其子目录bin添加到环境变量Path中,然后就可执行如下命令来启动JRuby的交互式控制台了:
jirb
要退出这个控制台,只需执行命令exit。
要查看所有的命令行选项,可执行命令jirb --help。
