سؤال

لذلك لدي تجزئة/صفائف التالية:

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

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

هذا التجزئة الأولى لديها مجموعة ل number في حين أن الثانية لا.

إنه يعزز الخراب في محاولة حلقة البيانات (على وجه التحديد عندما يكون هناك مجموعة واحدة فقط تتبع/ملاحظات).

في النهاية أريد أن أكون قادرًا على القيام 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