Очистите кэш для объекта 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.