• 0

كيف أفرز المصفوفات حسب قيم متعددة في روبي؟

أملك مصفوفة من hashes وأريد فرز المصفوفة أول بـ hash الذي يدعى “foo” وبعد ذلك بـ “bab” بعد بحث طويل وجدت هذا الحل:

a.sort_by {|h| [ h['foo'],h['bab'] ]}

لكن عند تجربته أحصل على خطأ من نوعا "comparison of Array with Array failed” فما السبب؟

تمّ تعديل بواسطة المبرمج العربي

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدة طرق في لغة روبي لفرز المصفوف حسب قيم معينة متعددة، فيمكنك على سبيل المثال استخدام تابع sort ومن ثم اختيار ترتيب الفرز كما يظهر في المثال التالي:

a.sort { |a, B| [a['foo'], a['bab']] <=> [b['foo'], b['bab']] }

أما بالنسبة للمثال الذي وضعته والذي أخذته من شبكة الإنترنت فهو يعمل لدي بدون مشاكل على نظام لينكس وعلى إصدار 1.8.7 من روبي، ربما لا يعمل على الإصدارات الجديدة للروبي فحاول تجربته على الإصدار 1.8.7.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن