我正在尝试通过循环数组来构建数据结构。 这就是我所拥有的
{"root"=>["a1","a2"]}
哪个给了我
{
"r"=> {
"a1"=> {
"key1"=> "value2",
"key2"=> "value2"
},
"a2"=> {
"key1"=> "value2",
"key2"=> "value2"
}
}
}
我在此之后
'<span style="target_style" class="target_class">'
有人能告诉我出错的地方吗?
答案 0 :(得分:2)
您正在使用each
,它只返回数组本身。而不是那样,你需要使用map
:
content = { 'root' =>
a.map do | v |
func(v)
end
}
或者用更好的语法,因为块是一行:
content = {
'root' => a.map { |v| func(v) }
}
答案 1 :(得分:1)
它仍然需要一些重构,但你会得到这个想法。如果你使用map它将返回数组并导致&#34; r&#34;将是数组而不是哈希。
{"r": a.each_with_object(Hash.new(0))
{ |h1, h2| h2[h1]={"key1"=>"value2", "key2"=>"value2"} }
}
它将完全返回
{:r=>{
"a1"=>{"key1"=>"value2", "key2"=>"value2"},
"a2"=>{"key1"=>"value2","key2"=>"value2"}
}
}