• 0

ما الفرق بين for و each في الروبي ؟

أريد معرفة الفرق بين حلقتي التكرار for و each فما أراه أنهم يؤدّون نفس الوظيفة، فلماذا توجد حلقتي تكرار تقومان بنفس الوظيفة في الروبي ؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

في الحقيقة هنالك اختلافات بسيطة بين حلقتي التكرار each و for، فعلى سبيل المثال عند استخدام حلقة التكرار for سيبقى متغير التكرار حيا (بقيمته الأخيرة) بعد الخروج من حلقة التكرار، أما لو استخدمت each فلن يبقى هذا المتغير إلا لو قمت بتعريفه كمتغير محلي قبل أن تبدأ حلقة التكرار، أنظر لهذين المثال لتفهم الفرق بشكل أفضل:

irb> [1,2,3].each { |x| }
  => [1, 2, 3]
irb> x
NameError: undefined local variable or method `x' for main:Object
    from (irb):2
    from :0

والآن نفس المثال لكن مع for:

irb> for x in [1,2,3]; end
  => [1, 2, 3]
irb> x
  => 3

بالإضافة إلى ذلك يعتبر for سهل الكتابة والقراءة للتابع each كما رأيت في الأمثلة السابقة.
المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن