私は{"name" => "golf", "parent" => "sports"}
のようなドキュメントをグループと呼ばれるMongoDBのコレクションに取得したいと思いYAML file of groups持っている(トップレベルのグループは、スポーツのように、ちょうどparent
なし{"name" => "sports"}
だろう。)再帰DFS Rubyのメソッド
我々はありますtraverse the nested hashにしようとしていますが、正しく動作しているかどうかはわかりません。私はラムダprocよりも再帰的な方法を使用したいと思います。私たちはそれを機能させるために何を変えるべきですか?
ありがとうございます!この方法ではなく、ラムダを使用するように...
insert_enumerable = lambda {|obj, collection|
# obj = {:value => obj} if !obj.kind_of? Enumerable
if(obj.kind_of? Array or obj.kind_of? Hash)
obj.each do |k, v|
v = (v.nil?) ? k : v
insert_enumerable.call({:value => v, :parent => obj}, collection)
end
else
obj = {:value => obj}
end
# collection.insert({name => obj[:value], :parent => obj[:parent]})
pp({name => obj[:value], :parent => obj[:parent]})
}
:
マット
それは素晴らしいです。 +1 –