`Hash()`创建哈希时

时间:2016-01-08 17:19:47

标签: ruby hash

我看到很多看似可以互换的方式来创建哈希。以下所有内容都创建相同的哈希:

w = {:one => 1, :two => 2}
x = Hash[:one => 1, :two => 2]
y = Hash.[](:one => 1, :two => 2)
z = Hash.send(:[], :one => 1, :two => 2)
huh = Hash(:one => 1, :two => 2)

对于Hash(:one => 1, :two => 2),我希望在文档中找到:() Hash方法。除了记录的方法::[]之外,文档还不应该列出::()方法吗?

如果它们都只是语法糖,后一种方法记录在哪里?

1 个答案:

答案 0 :(得分:3)

这是Kernel中的一种方法(其中包含您可以直接调用的其他方法,如Kernel.puts) - Kernel.Hash。不要使用它(它不是惯用的)。