ali_agha نشر 28 سبتمبر 2015 أرسل تقرير مشاركة نشر 28 سبتمبر 2015 أحتاج إلى أسهل طريقة للقيام بحلقة تكرار على محتويات قائمة في الروبي لتحويل هذه القائمة:[x1, x2, x3, ... , xN]إلى هذه:[[x1, 2], [x2, 3], [x3, 4], ... , [xN, N+1]] اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 هشام رزق الله نشر 28 سبتمبر 2015 أرسل تقرير مشاركة نشر 28 سبتمبر 2015 إذا كنت تستخدم إصدار 1.8.7 أو 1.9 من الروبي، فيمكنك الاستفادة من حقيقة أن التوابع التكرارية مثل each_with_index عندما تقوم باستدعائها من دون كتلة(block)، سوف تقوم بإرجاع كائن Enumerator والذي يمكنك في هذه الحالة استدعاء توابع Enumerable مثل map للتكرار والتعديل كما في المثال التالي:arr.each_with_index.map { |x,i| [x, i+2] }أما لو كنت تستخدم إصدار روبي قديم (أقدم من 1.8.7) فيمكنك استدعاء enumerator ومن ثم تقوم بتكرار والتعديل كما في المثال التالي:require 'enumerator' arr.enum_for(:each_with_index).map { |x,i| [x, i+2] }في الإصدار الثاني من الروبي 2.x هنالك تابع متسلسل يدعى with_index والذي يمكنك ربطه إلى map واستخدامه كما في المثال التالي:array.map.with_index { |item, index| ... }المصدر اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
ali_agha
أحتاج إلى أسهل طريقة للقيام بحلقة تكرار على محتويات قائمة في الروبي لتحويل هذه القائمة:
إلى هذه:
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.