Memoization يخزن نتائج الدالة في الذاكرة مفهرسة حسب معاملاتها، بحيث تعيد الاستدعاءات المتكررة بنفس المدخلات النتيجة المخزنة فوراً بدلاً من إعادة الحساب. وهي تتبادل الذاكرة من أجل السرعة وتعمل فقط مع الدوال النقية (نفس المدخل → نفس المخرج، بدون آثار جانبية).
مجموعة memoize عامة
js
() {
cache = ();
{
key = .(args);
(cache.(key)) {
cache.(key);
}
result = (...args);
cache.(key, result);
result;
};
}
= n => { n * n; };
fastSquare = (slowSquare);
();
();
