Ruby 1.8.7 head是否支持1.9样式的哈希文本?

Ruby 1.8.7 head是否支持1.9样式的哈希文本?,ruby,ruby-1.8,Ruby,Ruby 1.8,据介绍,Ruby1.9的{foo:42}显然是后移植到Ruby1.8的。但我尝试使用RVM运行ruby-1.8.7-head,结果出现了标准语法错误: Andrew-Grimms-MacBook-Pro:ruby agrimm$ rvm use ruby-1.8.7-head Using /Users/agrimm/.rvm/gems/ruby-1.8.7-head Andrew-Grimms-MacBook-Pro:ruby agrimm$ irb ruby-1.8.7-head :001 &

据介绍,Ruby1.9的
{foo:42}
显然是后移植到Ruby1.8的。但我尝试使用RVM运行ruby-1.8.7-head,结果出现了标准语法错误:

Andrew-Grimms-MacBook-Pro:ruby agrimm$ rvm use ruby-1.8.7-head
Using /Users/agrimm/.rvm/gems/ruby-1.8.7-head
Andrew-Grimms-MacBook-Pro:ruby agrimm$ irb
ruby-1.8.7-head :001 > {a: "foo"}
SyntaxError: compile error
(irb):1: odd number list for Hash
{a: "foo"}
   ^
(irb):1: syntax error, unexpected ':', expecting '}'
{a: "foo"}
   ^
(irb):1: syntax error, unexpected '}', expecting $end
    from (irb):1

更改是否已恢复,或者对源代码的所有更改是否都反映在ruby-1.8.7-head中?

检查版本号:此修补程序应用于ruby 1.8。8,而不是1.8.7。ruby core在4天前同意的版本将永远不会发布。截至上周,1.8已经正式失效

1.8.8是一个神话般的过渡版本,可以正确解析但不执行Ruby1.9语法,因此您可以编写类似

if RUBY_VERSION > '1.8'
  ->x { x }
else
  lambda {|x| x }
end

然而,事实证明,每个想迁移到Ruby 1.9的人都已经这么做了,而那些不想迁移的人也不会被1.8.8所左右,所以把更多的资源转移到Ruby 1.9上是没有意义的。

我今天下午看到了你的推文——这就是让我想到这一点的原因。所以这种变化可能发生在git回购的ruby_1_8分支上,而RVM的ruby-1.8.7-head使用ruby_1_8_7分支?@锡人:这有点夸张。1.8.7将长期维护;见鬼,1.8.6仍在维护中。但不会再有1.8版本了。事实上,这也是我前几天读到的。Matz正在考虑1.8.8的想法,但是如果1.8.7得到了bug修复,我认为1.8.8没有太大的必要。1.8.7是一个很好的改进,比以前的版本,似乎相当坚实,所以我使用它向后兼容。