私はSQLクエリからitems
の結果を持っています。これらの結果を使用して、products
という新しいハッシュ配列を作成したいと考えています。私がやっている道は正しいとは思わない。各行を反復処理しながら、私は以下の擬似コードのような行のいくつかのキーを条件付きで処理する必要があります。sql結果を反復処理して新しいハッシュ配列を生成します
items = retrieve_items_from_db
products = items.map do |row|
{
row.each do | k, v|
if k == "Color"
#go do something and add updated key, value pair to products
else puts "SKEY:#{k} VALUE: #{v}"
# add k,v to products
k => v
end
}
end
何か指針または提案がありますか?私はmap
の代わりにinject({})
を使ってみました。
これは何の目的ですか?また、あなたは '終わり 'を欠いており、'それぞれはあなたの考えをしません。あなたは 'products = items.map {| row | row.each_with_object({}){|(k、v)、obj | obj [k] = k == "Color"? some_color_method(v):v}} ' – engineersmnky