المبرمج العربي نشر 23 ديسمبر 2015 أرسل تقرير مشاركة نشر 23 ديسمبر 2015 (معدل) أملك مصفوفة من hashes وأريد فرز المصفوفة أول بـ hash الذي يدعى “foo” وبعد ذلك بـ “bab” بعد بحث طويل وجدت هذا الحل:a.sort_by {|h| [ h['foo'],h['bab'] ]} لكن عند تجربته أحصل على خطأ من نوعا "comparison of Array with Array failed” فما السبب؟ تم التعديل في 23 ديسمبر 2015 بواسطة المبرمج العربي اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 هشام رزق الله نشر 23 ديسمبر 2015 أرسل تقرير مشاركة نشر 23 ديسمبر 2015 هنالك عدة طرق في لغة روبي لفرز المصفوف حسب قيم معينة متعددة، فيمكنك على سبيل المثال استخدام تابع sort ومن ثم اختيار ترتيب الفرز كما يظهر في المثال التالي:a.sort { |a, B| [a['foo'], a['bab']] <=> [b['foo'], b['bab']] } أما بالنسبة للمثال الذي وضعته والذي أخذته من شبكة الإنترنت فهو يعمل لدي بدون مشاكل على نظام لينكس وعلى إصدار 1.8.7 من روبي، ربما لا يعمل على الإصدارات الجديدة للروبي فحاول تجربته على الإصدار 1.8.7. اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
المبرمج العربي
أملك مصفوفة من hashes وأريد فرز المصفوفة أول بـ hash الذي يدعى “foo” وبعد ذلك بـ “bab” بعد بحث طويل وجدت هذا الحل:
لكن عند تجربته أحصل على خطأ من نوعا "comparison of Array with Array failed” فما السبب؟
تم التعديل في بواسطة المبرمج العربيرابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.