TheBrain نشر 27 ديسمبر 2015 أرسل تقرير نشر 27 ديسمبر 2015 أحتاج إلى تقسيم المصفوفة إلى أجزاء متساوية محددة الحجم فهل هنالك طريقة أو دالة معينة في لغة روبي لفعل ذلك؟ مثال على ما أريده: a = [0, 1, 2, 3, 4, 5, 6, 7] a.method_i_need(3) a.inspect => [[0,1,2], [3,4,5], [6,7]] اقتباس
0 المبرمج العربي نشر 27 ديسمبر 2015 أرسل تقرير نشر 27 ديسمبر 2015 يمكنك تقسيم المصفوفة إلى أجزاء متساوية بطرق عديدة في لغة روبي، فمثلا يمكنك استخدام تابع each_slice ومن ثم تمرير طول تقسيم المصفوفة حيث ستتمكن من تقسيمها بعدد عناصر محدد مثل 3، ولا تنسى أنه يجب عليك تحويل المصفوفة باستخدام تابع to_a أولا كما في المثال التالي:a = [0, 1, 2, 3, 4, 5, 6, 7] a.each_slice(3) # => #<Enumerator: [0, 1, 2, 3, 4, 5, 6, 7]:each_slice(3)> a.each_slice(3).to_a # => [[0, 1, 2], [3, 4, 5], [6, 7]] ويمكنك استخدام تابع in_groups حيث سيتم تقسيم المصفوفة إلى عدد معين من المصفوفات والذي تحدده أنت وإذا كان طول المصفوفة غير متساوي فيجب عليك فستكون المصفوفات غير متساوية كما تظهر في المثال التالي:a = [0,1,2,3,4,5,6] a.in_groups(2) # => [[0,1,2,3],[4,5,6,nil]] a.in_groups(3, false) # => [[0,1,2],[3,4], [5,6]] اقتباس
السؤال
TheBrain
أحتاج إلى تقسيم المصفوفة إلى أجزاء متساوية محددة الحجم فهل هنالك طريقة أو دالة معينة في لغة روبي لفعل ذلك؟ مثال على ما أريده:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.