在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
?
答案 0 :(得分:1)
没有优势。
如果你的密钥不是:symbol
,它会慢一些。
这是因为迭代器已完成查找并将值赋给value
变量。如果你再看一遍,你就会重做那项工作。带有符号符号的哈希将有O(1)
个查找,但其他键类型可能会在更长的时间内出现。
答案 1 :(得分:0)
如果您正在寻找一些东西,您可以使用钥匙来获得它。密钥的概念意味着您已经拥有密钥"。所以,当你已经得到它时,为什么你会给你一个Hash,并期待同样的事情。哈希只会看着你,想知道这个愚蠢的人在做什么。
钥匙的目的是打开另一边的门......这就是为什么钥匙打开了门外哈希的价值。
它就像一家书店的索引。你可以通过它找到这本书的索引。索引是关键,书是值。