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