• 0

هل هنالك سبب لعدم إمكانية عكس المجال في روبي؟

أريد أن أعكس المجال (range) لجمل التكرار في لغة روبي، فهل يمكن عكس المجال؟ أم أن لغة روبي لا تدعم ذلك؟

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


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

نعم يمكنك عكس مجال حلقة التكرار في لغة روبي، فالمجال هو شيء محدد ببداية ونهاية وليس بمحتوياته، فالتكرار حول هذا مجال لا يعطي معنى في أغلب الحالات، فعلى سبيل المثال، كيف يمكنك التكرار حول مجال يتكون من تاريخين؟ فهل يقوم بالتكرار حسب اليوم؟ أم الشهر؟ أم السنة؟ أم الأسبوع … فهذا المجال بدايته ونهايته غير مُعرّفة.
وإذا أردت التكرار عكسيا فيمكنك مثلًا استخدام downto:

$ r = 10..6
=> 10..6

$ (r.first).downto(r.last).each { |i| puts i }
10
9
8
7
6

ويمكنك أيضا استخدام .each كما في المثال التالي:

>> (-2..2).each { |n| puts -n }
2
1
0
-1
-2
=> -2..2

كما يمكنك استخدام (0..1).reverse_each للتكرار.

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


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

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

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

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


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

تسجيل الدخول

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


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