• 0

كيف أدور على كائن Time في روبي مع دلتا؟

ما الطريقة الصحيحة للدوران على مدى للوقت في روبي، ومن ثم تعيين قيمة delta؟ الفكرة التي خطرت على بالي الفكرة التالي والتي لا تعمل؟

for hour in (start_time..end_time, hour)
    hour #=> Time object set to hour
end

فكيف أستطيع فعل ذلك في روبي؟

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


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

هنالك عدة طرق في لغة روبي للدوران على مدى وقت معين، ففي الإصدارات السابقة للروبي (ما قبل الإصدار 1.9) يمكنك استخدام تابع step كما في المثال التالي:

(start_time..end_time).step(3600) do |hour|
  # ...
end

ومع ذلك، فإن هذه الإستراتيجية بطيئة نوعا ما، لأنها ستستدعي تابع succ 3600 مرة، وبدلا من ذلك يمكنك استخدام هذه الطريقة التي استعملنا فيها حلقة التكرار while:

hour = start_time
while hour < end_time
  # ...
  hour += 3600
end

إذا كنت تستخدم ريلز فيمكنك استبدال 3600 بـ 1.hour والذي سيكون أكثر قابلية للقراءة.

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


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

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

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

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


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

تسجيل الدخول

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


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