首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby Hash创建

Ruby Hash创建
EN

Stack Overflow用户
提问于 2013-08-27 17:54:50
回答 1查看 104关注 0票数 2

我是Ruby的新手,这些天我都在努力学习Ruby。我今天正在看Hash,遇到了与Hash相关的问题。

我有下面的哈希

代码语言:javascript
运行
复制
{"key1" => ["param_1","param_2"], "key2" => ["param_3","param_4"], "key3" => "param_5", "key4" => "param_6","key5" => ["param_7","param_8"]}

我想把上面的哈希转换成下面的内容。

代码语言:javascript
运行
复制
{"my_hash" => [ {"name" => "key1","value" => ["param_1","param_2"]},
                {"name" => "key2","value" => ["param_3","param_4"]},
                {"name" => "key3","value" => ["param_5"]},
                {"name" => "key4","value" => ["param_6"]},
                {"name" => "key5","value" => ["param_7","param_8"]}
              ]
}

有人能告诉我如何用Ruby高效地做这件事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-27 17:57:37

代码语言:javascript
运行
复制
hsh = {"key1" => ["param_1","param_2"],
       "key2" => ["param_3","param_4"], "key3" => "param_5", 
      "key4" => "param_6","key5" => ["param_7","param_8"]}
hsh.map{|k,v| {name: k,value: Array(v) }}
# => [{:name=>"key1", :value=>["param_1", "param_2"]},
#     {:name=>"key2", :value=>["param_3", "param_4"]},
#     {:name=>"key3", :value=>["param_5"]},
#     {:name=>"key4", :value=>["param_6"]},
#     {:name=>"key5", :value=>["param_7", "param_8"]}]

代码语言:javascript
运行
复制
hsh = {"key1" => ["param_1","param_2"],
       "key2" => ["param_3","param_4"], "key3" => "param_5", 
      "key4" => "param_6","key5" => ["param_7","param_8"]}
hsh.map{|k,v| {"name" => k,"value" => Array(v) }}
# => [{"name"=>"key1", "value"=>["param_1", "param_2"]},
#     {"name"=>"key2", "value"=>["param_3", "param_4"]},
#     {"name"=>"key3", "value"=>["param_5"]},
#     {"name"=>"key4", "value"=>["param_6"]},
#     {"name"=>"key5", "value"=>["param_7", "param_8"]}]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18472385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档