Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby和JRuby语法不同吗?_Ruby On Rails_Ruby_Jruby - Fatal编程技术网

Ruby on rails Ruby和JRuby语法不同吗?

Ruby on rails Ruby和JRuby语法不同吗?,ruby-on-rails,ruby,jruby,Ruby On Rails,Ruby,Jruby,这可能是我迄今为止最糟糕的问题,但我正在为一个处于技术研究阶段的项目选择Ruby vs.Jruby,所以语法相同是灵活性的一个次要问题 它们是两种不同的语法还是看起来几乎一样?简短回答:它们使用相同的语法。可用的对象和方法略有不同,但语法相同 更长的答案:Ruby 1.9使用的语法与Ruby 1.8略有不同。JRuby最初在1.9支持方面落后,但正在慢慢赶上。如果你说的是Ruby 1.8和JRuby,那是一样的。如果你说的是Ruby 1.9和JRuby,那么 编译器现在处理所有1.9语法 同样的

这可能是我迄今为止最糟糕的问题,但我正在为一个处于技术研究阶段的项目选择Ruby vs.Jruby,所以语法相同是灵活性的一个次要问题


它们是两种不同的语法还是看起来几乎一样?

简短回答:它们使用相同的语法。可用的对象和方法略有不同,但语法相同

更长的答案:Ruby 1.9使用的语法与Ruby 1.8略有不同。JRuby最初在1.9支持方面落后,但正在慢慢赶上。如果你说的是Ruby 1.8和JRuby,那是一样的。如果你说的是Ruby 1.9和JRuby,那么

编译器现在处理所有1.9语法


同样的语法。与数据库连接不同的是,ruby使用MYSQL2进行数据库连接,而jruby使用jdbcmsql进行数据库连接


jruby数据库连接所需的gem是activerecord jdbcmysql适配器,ruby是一种语言。它有多个实现,但有一个参考实现称为MRI(Matz的ruby解释器)或C-ruby(因为它是用C编写的)。还有一个ruby规范项目正在进行中,它试图记录ruby的行为,而不仅仅是“做MRI做的事”

ruby还有多个版本,目前最常见的是1.8.7和1.9.1

话虽如此,所有实现(包括JRuby、Ironruby、Rubinius)的目标都是符合规范,因此是兼容的。因此,您可以编写“纯”ruby代码,并在任何最佳实现上运行它


当然,不同的实现都有自己的bug,也有自己对规范的遵从程度。这正是您需要注意的。

谢谢!顺便说一句,你的长答案只比短答案长一行——必须是好的设计;)