创建ruby 1.9哈希时出错

时间:2014-08-20 09:18:51

标签: ruby-on-rails ruby hash

使用数字作为键创建ruby 1.9.2哈希语法,例如

day = {1: "Sunday", 2: "Monday"}

我收到以下错误

syntax error, unexpected '}', expecting end-of-input

但是当我以这种格式使用哈希语法时,它工作正常。

day = {one: "Sunday", two: "Monday"}

我使用的ruby版本是2.0.0p247

3 个答案:

答案 0 :(得分:2)

day = {one: "Sunday", two: "Monday"}

是来自版本1.9的新语法,与

相同
day = {:one =>  "Sunday", :two => "Monday"}

只有键符号才能使用该语法。

您必须在案件中使用day = {1 => "Sunday", 2 => "Monday"}

答案 1 :(得分:2)

如果您的密钥不是符号,则必须使用key => value语法:

day = {1 => "Sunday", 2 => "Monday"}
#=> {1=>"Sunday", 2=>"Monday"}

答案 2 :(得分:0)

您可以这样创建哈希

day={}
day[:one] = "Sunday"
day[:two] = "Monday"