连接哈希的两个值以在 ruby 中形成哈希
Join two values of a hash to form a hash in ruby
我有一个包含键 "parameter_name" 和 "parameter_value" 的散列,我想生成一个包含一个键值对的散列,"parameter_name" 的值是键, "parameter_value" 的值是值。
哈希看起来像这样:
p = {"parameter_name"=>"NumberOfRetries", "parameter_value"=>"3"}
我希望输出的方式是这样的,
{"NumberOfRetries"=>"3"}
我试过:
a = p.values.map {|v| v1,v2=v[0],v[1]; {v1=>v2} }
但这样做不会 return 正确的输出,它会产生以下内容,
[{"N"=>"u"}, {"3"=>nil}]
有人可以帮我解决这个问题吗?
谢谢。
试试这个。
a = Hash[*p.map(&:last)]
I have a hash with keys, "parameter_name" and "parameter_value", and want to produce a hash with one key-value pair, the value of "parameter_name" being the key and the value of "parameter_value" being the value.
要获得 "parameter_name"
的值,您将使用:(给定您的示例哈希 p
)
p["parameter_name"] #=> "NumberOfRetries"
对于"parameter_value"
的值:
p["parameter_value"] #=> "3"
具有单个 key / value 对的哈希是通过以下方式创建的:(分配给 a
)
a = { key => value }
使用 "paramter_name"
的值作为 key 和 "parameter_value"
的值作为 value 给出:
a = { p["parameter_name"] => p["parameter_value"] }
#=> { "NumberOfRetries" => "3" }
通过键引用散列值可确保无论散列顺序如何,或者是否存在不相关的键/值对,都可以正常工作,例如:
p = { "parameter_value"=>"3", "foo"=>"bar", "parameter_name"=>"NumberOfRetries" }
a = { p["parameter_name"] => p["parameter_value"] }
#=> { "NumberOfRetries" => "3" }
我有一个包含键 "parameter_name" 和 "parameter_value" 的散列,我想生成一个包含一个键值对的散列,"parameter_name" 的值是键, "parameter_value" 的值是值。 哈希看起来像这样:
p = {"parameter_name"=>"NumberOfRetries", "parameter_value"=>"3"}
我希望输出的方式是这样的,
{"NumberOfRetries"=>"3"}
我试过:
a = p.values.map {|v| v1,v2=v[0],v[1]; {v1=>v2} }
但这样做不会 return 正确的输出,它会产生以下内容,
[{"N"=>"u"}, {"3"=>nil}]
有人可以帮我解决这个问题吗? 谢谢。
试试这个。
a = Hash[*p.map(&:last)]
I have a hash with keys, "parameter_name" and "parameter_value", and want to produce a hash with one key-value pair, the value of "parameter_name" being the key and the value of "parameter_value" being the value.
要获得 "parameter_name"
的值,您将使用:(给定您的示例哈希 p
)
p["parameter_name"] #=> "NumberOfRetries"
对于"parameter_value"
的值:
p["parameter_value"] #=> "3"
具有单个 key / value 对的哈希是通过以下方式创建的:(分配给 a
)
a = { key => value }
使用 "paramter_name"
的值作为 key 和 "parameter_value"
的值作为 value 给出:
a = { p["parameter_name"] => p["parameter_value"] }
#=> { "NumberOfRetries" => "3" }
通过键引用散列值可确保无论散列顺序如何,或者是否存在不相关的键/值对,都可以正常工作,例如:
p = { "parameter_value"=>"3", "foo"=>"bar", "parameter_name"=>"NumberOfRetries" }
a = { p["parameter_name"] => p["parameter_value"] }
#=> { "NumberOfRetries" => "3" }