哈希.each不返回哈希值?

tap*_*123 1 ruby

Hash.each返回一个数组[key, value],但如果我想要一个哈希?

例: {:key => value }

sep*_*p2k 5

我假设你的意思是"收益",你说"返回"因为Hash#each已经返回一个哈希(接收者).

回答你的问题:如果你需要一个带键和值的哈希,你可以创建一个.像这样:

hash.each do |key, value|
  kv_hash = {key => value}
  do_something_with(kv_hash)
end
Run Code Online (Sandbox Code Playgroud)

没有替代each方法可以产生哈希值,所以上面是你能做的最好的方法.