我有一个字符串数组。
array = ["foo","bar","baz"]
我试图将其转变为以下内容:
{"foo"=>nil, "bar"=>nil, "baz" => nil}
我一直在这样做:
new_hash = {}
array.each { |k| new_hash[k] = nil }
new_hash
我想知道是否有任何方法可以在没有任何实例变量的情况下以单行方式完成此操作。
这会起作用:
new_hash = Hash[array.zip]
# => {"foo"=>nil, "bar"=>nil, "baz"=>nil}
-
array.zip http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-zip回报
[["foo"], ["bar"], ["baz"]]
-
Hash::[] http://www.ruby-doc.org/core-1.9.3/Hash.html#method-c-5B-5D从这些键创建一个哈希
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)