我正在创建一个以数组为键的哈希,例如:
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
做同样的事情,并认为可能会将此功能扩展为在哈希中全局可用。
答案 0 :(得分:2)
但我能够用
做同样的事情string
...
我认为你指的是"name": value
语法。
让我们看看:
{"foo": 123} #=> {:foo=>123}
注意“字符串”会发生什么?它成为一种象征。
在散列文字中"foo": value
是:"foo" => value
的快捷方式,而:"foo"
实际上是一个符号:
:"foo" #=> :foo
谁知道?但我不这么认为。我想知道他们将来是否会实施它(仅仅因为语法糖)?