【发布时间】:2013-08-22 09:07:13
【问题描述】:
我对 knitr 块选项“dependson”有疑问。据我了解手册,此选项应用于指定缓存块依赖于哪些其他缓存块。但是当 uncached 块发生变化时,有没有办法使块的缓存失效?
这是一个最小的例子:
文件knitrtest.Rnw:
\documentclass{article}
\begin{document}
<<>>=
library(knitr)
read_chunk("chunks.R")
@
<<not_cached>>=
@
<<cached, cache=TRUE, dependson="not_cached">>=
@
\end{document}
文件chunks.R:
## @knitr not_cached
var <- 42
## @knitr cached
var
当我更改 var 块“缓存”的输出仍然是 42,因为依赖选项不适用。
在我的示例中,我也可以通过缓存第一个块来解决问题。但是,我不能这样做,因为在第一个块中我使用library() 并读取外部文件,因此不应缓存此块。
有没有办法在未缓存的块更改时使缓存失效?
【问题讨论】: