0

以下代码:

p ({ table: 2, sandwich: "hamburger", drink: "cola" })

在正常的终端会话中给出以下输出ruby _filename_.rb

{:table=>2, :sandwich=>"hamburger", :drink=>"cola"}

在 Sublime Text 2 的控制台中使用 Command+b:

/Users/*******/Desktop/scratchpad.rb:1: odd number list for Hash
p ({ table: 2, sandwich: "hamburger", drink: "cola" })
           ^
/Users/*******/Desktop/scratchpad.rb:1: syntax error, unexpected ':', expecting '}'
p ({ table: 2, sandwich: "hamburger", drink: "cola" })
           ^
[Finished in 0.0s with exit code 1]

这是为什么?

4

1 回答 1

2

看起来 Sublime Text 可能正在运行foo: "bar"Hash 语法之前的 Ruby 版本(可能是 OS X 默认的 Ruby)。

您可以通过在 Sublime Text 中运行脚本来验证这一点

p RUBY_VERSION

它应该输出 1.9 或更高版本。

于 2013-09-17T07:37:53.680 回答