単一のハッシュの値をマージする方法はありますか?単一のハッシュの値をマージする方法は?
例:
address = {
"apartment" => "1",
"building" => "Lido House",
"house_number" => "20",
"street_name" => "Mount Park Road",
"city" => "Greenfield",
"county" => nil,
"post_code" => "WD1 8DC"
}
私たちはこのように見える成果を得ることができますか?
1 Lido House,
20 Mount Park Road,
Greenfield,
WD1 8DC
address.compactは皆無に等しい値が、どのような方法であなたは、文字列の補間が含まれている場合は削除されます、あなたは、いくつかのアドレスのゼロ値を除外したいと最後にカンマなしで他人のためにそれを含めます?
def address(hash)
hash.compact
puts "#{hash["apartment"]} #{hash["building"]}, \n#{hash["house_number"]} #{hash["street_name"]}, \n#{hash["city"]}, \n#{hash["county"]}, \n#{hash["post_code"]}"
end
これまでに何を試みましたか?考えられる解決策の1つは、値の文字列を連結するハッシュのすべてのキーを調べることです。 – hrust
誰もが答えた後、あなたは質問を変更しました!要約すると:いいえ、ルビがいくつかの値が 'nil'であれば、文字列をどのようにフォーマットするのかを単に知るための"魔法の "方法はありません。この論理を自分で書く必要がありますが、あまり複雑ではありません。 'result'変数を作成して、単純な条件文に基づいて追加してください。 'Hash#compact'の使用も不要です(何もしていません!)。 –
はい、質問を削除して再転記することを考えていましたが、既に回答があったので、私はその人に信用を与えると思いました。 私は変数を作成してそれに追加しなかったことを除いて、あなたが提案したものに似た何かをしました。 私はまだそれを提出する前に学習しており、質問に答える別の方法を見つけようとしていました。 技術コミュニティには何が起こったのですか? – AshNaz87