返回哈希迭代值的目的

时间:2013-10-23 15:32:54

标签: ruby hash

在Ruby中,如果我们有一个名为my_hash的哈希值,我们决定puts键和值,我们似乎可以使用:

my_hash.each do |key, value|
  puts key, my_hash[key]
end

my_hash.each do |key, value|
  puts key, value
end

我的问题是为什么my_hash[key]会返回值?有什么优势(如果有的话)可以使用它而不仅仅是value

2 个答案:

答案 0 :(得分:1)

没有优势。

如果你的密钥不是:symbol,它会慢一些。

这是因为迭代器已完成查找并将值赋给value变量。如果你再看一遍,你就会重做那项工作。带有符号符号的哈希将有O(1)个查找,但其他键类型可能会在更长的时间内出现。

答案 1 :(得分:0)

如果您正在寻找一些东西,您可以使用钥匙来获得它。密钥的概念意味着您已经拥有密钥"。所以,当你已经得到它时,为什么你会给你一个Hash,并期待同样的事情。哈希只会看着你,想知道这个愚蠢的人在做什么。

钥匙的目的是打开另一边的门......这就是为什么钥匙打开了门外哈希的价值。

它就像一家书店的索引。你可以通过它找到这本书的索引。索引是关键,书是值。