将来,我可以使用带数组的新哈希语法作为键吗?

时间:2015-09-15 15:09:26

标签: ruby hashmap

我正在创建一个以数组为键的哈希,例如:

versions = { [1, 2, 3] => 'some-code-name' }

我想做同样的事情但是使用新的哈希语法,这会引发一个错误:

versions = { [1, 2, 3] : 'some-code-name' }
# => SyntaxError: (irb):18: syntax error, unexpected ':', expecting =>

我想知道他们将来是否会实施它(仅仅因为它是语法糖)。

有一个answer解释说:

  

此语法仅适用于Ruby'符号',是常用用法的替代选择:

:symbol => 5
     

而不是一般的关键。更多关于符号的信息。其他人就最少出人意料的原则写了这篇文章(见这里)。

但我能够对string做同样的事情,并认为可能会将此功能扩展为在哈希中全局可用。

1 个答案:

答案 0 :(得分:2)

  

但我能够用string ...

做同样的事情

我认为你指的是"name": value语法。

让我们看看:

{"foo": 123} #=> {:foo=>123}

注意“字符串”会发生什么?它成为一种象征。

在散列文字中"foo": value:"foo" => value的快捷方式,而:"foo"实际上是一个符号:

:"foo" #=> :foo
  

我想知道他们将来是否会实施它(仅仅因为语法糖)?

谁知道?但我不这么认为。