数字作为ruby 1.9.x语法的关键

时间:2013-01-10 19:01:01

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-1.9 ruby-1.9.3

如何在新的ruby语法下创建一个带数字作为键的哈希?例如{abc: 123}创建一个以符号abc为键的哈希,但{123: 'abc' }会抛出异常({123.to_sym: 'abc'}也是如此。我看到的例外是syntax error, unexpected '}', expecting $end我可以执行hash[123] = 'abc'Hash[123, 200],可以使用旧语法执行{123 => 'abc'}但不知道如何在新的JSON样式语法下创建{123: 'abc'}

2 个答案:

答案 0 :(得分:1)

你做不到。语法适用于Symbol个也是有效Ruby标识符的键。 123Fixnum,而不是Symbol,即使 Symbol,它仍然不是有效的Ruby标识符

答案 1 :(得分:0)

你可以认为123已经是一个符号,因为123与符号一样独特。所以{123:“abc”}

是不可能的。