ali_agha نشر 28 سبتمبر 2015 أرسل تقرير نشر 28 سبتمبر 2015 أحتاج إلى أسهل طريقة للقيام بحلقة تكرار على محتويات قائمة في الروبي لتحويل هذه القائمة:[x1, x2, x3, ... , xN]إلى هذه:[[x1, 2], [x2, 3], [x3, 4], ... , [xN, N+1]] اقتباس
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| ... }المصدر اقتباس
السؤال
ali_agha
أحتاج إلى أسهل طريقة للقيام بحلقة تكرار على محتويات قائمة في الروبي لتحويل هذه القائمة:
إلى هذه:
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.