Мемоизация с очисткой кэша (Memoize with Cache Clearing)
2
Функции
Условие
Реализуйте функцию memoize(fn), которая возвращает мемоизированную версию fn. При повторном вызове с теми же аргументами результат берётся из кэша, а не пересчитывается заново. Аргументы могут быть любыми примитивами, включая undefined (в Python — None), причём вызов с явным undefined/None должен кэшироваться отдельно от вызова с другим значением того же аргумента. Возвращаемая функция должна иметь метод clearCache() (в Python — clear_cache()), который полностью очищает кэш: следующий вызов с любыми аргументами после этого пересчитывается заново.
Пример:
Вход: memoize(fn); fn.call(2, 3) -> 5 (вычисляется)
Вход: тот же вызов fn.call(2, 3) -> 5 (из кэша)
Вход: fn.clearCache(); fn.call(2, 3) -> 5 (вычисляется заново)Loading...