Очистите кэш для объекта MemoizedFunction
clearCache(mfcn)
очищает кэш для объекта clearCache(mfcn)
MemoizedFunction
.
memoization функции сопоставлен с функцией ввода а не с объектом MemoizedFunction
. Поэтому очистка переменной не очищает кэш, сопоставленный с функцией ввода.
Объект MemoizedFunction
не знает об обновлениях базовой функции. Если вы изменяете функцию, сопоставленную с мемоизованной функцией, используйте clearCache
, чтобы очистить кэш.
Две переменные, что memoize та же функция совместно используют кэш и значения свойства объекта, такие как размер кэша. В следующем примере переменные a
и b
совместно используют кэш и имеют то же значение для размера кэша.
a = memoize(@svd); b = memoize(@svd);
b
(b.clearCache
) также очищает кэш для a
и любые другие переменные, что memoize svd
функционируют.Очистка переменной не очищает кэш, сопоставленный с функцией ввода. Чтобы очистить кэш для объекта MemoizedFunction
, который больше не существует в рабочей области, создайте новый объект MemoizedFunction
к той же функции и используйте функцию clearCache
на новом объекте. Также можно очистить кэши для всех объектов MemoizedFunction
с помощью функции clearAllMemoizedCaches
.