الدرس 3 من 8
الذاكرة المؤقّتة
- 13 دقيقة
- 6 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
لا تحسب ما حسبته
01
الشرح
إن كانت الدالة نقيّة — نفس المُدخل يعطي نفس المُخرج دائمًا ولا تغيّر شيئًا خارجها — فحسابها مرّتين لنفس المُدخل هدر خالص.
التذكير (memoize) يلفّها بخريطة: إن كان المفتاح موجودًا أرجِع المحفوظ، وإلا احسب واحفظ.
وMap أنسب من الكائن هنا: تقبل أي نوع مفتاحًا، ولا ترث خصائص قد تصطدم بمفاتيحك.
تنبيه: لا تُذكّر دالة غير نقيّة — إن كانت تقرأ الوقت أو تعتمد على حالة خارجية فستُرجع لك الماضي.
02
المطلوب
اكتب memoize(fn) بحيث لا تُستدعى الدالة الأصلية مرّتين لنفس المُدخل.
معايير التصحيح
6 معايير- memoize تُرجع دالة
- النتيجة صحيحة
- نفس المُدخل يُحسب مرّة واحدة
- مُدخل مختلف يُحسب من جديد
- تميّز بين وسائط متعدّدة
- الصفحة حسبت مرّة واحدة لثلاثة نداءات