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