Ruby: Comment puis-je faire de ces objets la même chose?
Question
J'ai donc les hashes / tableaux suivants:
{"number"=>[{"tracking"=>"1Z81E74W0393736553", "notes"=>"Example note"}, {"tracking"=>"9102901001301227214058"}]}
{"number"=>{"tracking"=>"1Z81E74W0393736553", "notes"=>"Example note"}}
Ce premier hachage a un tableau pour number
tandis que le second ne fonctionne pas.
Il est fait des ravages en essayant de boucle à travers les données (en particulier quand il n'y a qu'un suivi / notes combo).
En fin de compte, je suis désireux de pouvoir faire une boucle sur chaque each
suivi / notes combo.
La solution
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"}]
Maintenant, chacun sera un tableau de hash et vous pouvez utiliser each
pour itérer à travers eux.
Autres conseils
Quelque chose comme ça?
hash["number"] = [ hash["number"] ] unless hash["number"].kind_of?(Array)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow