ルビーは:どのように私は、これらが同じオブジェクトを作ることができますか?

StackOverflow https://stackoverflow.com/questions/2479901

  •  21-09-2019
  •  | 
  •  

質問

だから私は持っている以下のハッシュ/配列ます:

{"number"=>[{"tracking"=>"1Z81E74W0393736553", "notes"=>"Example note"}, {"tracking"=>"9102901001301227214058"}]}

{"number"=>{"tracking"=>"1Z81E74W0393736553", "notes"=>"Example note"}}

二つ目はないながら、第1のハッシュがnumberの配列を有していること。

これは、(そこだときのみ特異的1つのトラッキング/ノートコンボ)のデータをループしようとして大混乱をwreakingいます。

最終的に私は、各追跡/ノートコンボにeachループを行うことができるようにしたいんだ。

役に立ちましたか?

解決

h1={"number"=>[{"tracking"=>"1Z81E74W0393736553", "notes"=>"Example note"}, {"tracking"=>"9102901001301227214058"}]}
h2={"number"=>{"tracking"=>"1Z81E74W0393736553", "notes"=>"Example note"}}
[h1["number"]].flatten
  => [{"notes"=>"Example note", "tracking"=>"1Z81E74W0393736553"}, {"tracking"=>"9102901001301227214058"}]
[h2["number"]].flatten
  => [{"notes"=>"Example note", "tracking"=>"1Z81E74W0393736553"}]

さて、それぞれがハッシュの配列になりますし、あなたがそれらを反復処理するeachを使用することができます。

他のヒント

このような何か?

hash["number"] = [ hash["number"] ] unless hash["number"].kind_of?(Array)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top