私は、次のハッシュがあります変更キーRubyのハッシュで体位
my_hash = {
"redis_1"=>{"group"=>"Output", "name"=>"Redis", "parameters"=>{"redis_db"=>2, "redis_password"=>"<password>"}},
"file_1"=>{"name"=>"File", "group"=>"Output", "parameters"=>{"file"=>"/opt/var/lib/bots/file-output/ctt.txt", "hierarchical_output"=>false}}
}
をそして、私は最初の位置にそれぞれ内側のハッシュでキーparameters
を移動したいと思い、このような何か:
my_hash = {
"redis_1"=>{"parameters"=>{"redis_db"=>2, "redis_password"=>"<password>"}, "group"=>"Output", "name"=>"Redis"},
"file_1"=>{"parameters"=>{"file"=>"/opt/var/lib/bots/file-output/ctt.txt", "hierarchical_output"=>false}, "name"=>"File", "group"=>"Output"}
}
私は次のコードを持っている:
my_hash.each_pair do |key, value|
value.sort_by {|k, v| k == "parameters" ? 0 : 1}
end
私はすべてのエラーを得ていないんだけど、このコードはanytをしないとヒンジと私は非常に私が望む出力に到達する方法を失っています。
興味があるだけ:ここ
はまだあなたの提案した方法に非常に似て作業コードは、です!なぜこれをする必要がありましたか?あなたは説明することができます:) –
私はいくつかのYAMLファイルを持っており、私がそれらを読んだとき、私が得る出力は質問でここに示す最初のハッシュです。そして私はこれらのYAMLを使ってプログラムを構成しています。そのプログラムはハッシュの最初のキーとしてパラメータを必要とします。 YAMLファイルを変更することはできませんので、私はこれを行う必要がありました:) @PreethiKumar – mf370