使用 knitr 打印 data.table 包的 .onAttach 消息

print the data.table package's .onAttach messages with knitr

我有一个 bookdown rmd 看起来像...

Further introductory materials are offered when the package is loaded:

```{r dt-startup, echo=-1, message=TRUE, verbose=TRUE, hide=FALSE}
if ("data.table" %in% .packages()) detach("package:data.table")
library(data.table)
```

我的目的是显示 reader 包的启动消息。但是,它们不打印。这里还有其他 chunk option 可以使用吗?

如您所见,我只是向它添加了几个 maybe-relevant 块选项,但没有取得好的结果。我对输出流的管理不是很熟悉,所以就我所知。我也试过直接用 data.table:::.onAttach() 调用,但没有骰子。

我不确定这里还有什么相关的内容,但是...

不要。任何为此而被黑客入侵的东西都是脆弱的,而且可以说不是很有用。

谢益辉(knitr 的作者)makes a good case。我的简介:

  • 这没有用。您正在编写教程,为什么要包含动态内容(包更改时可能会更改)?此外,为什么不直接指向资源而不是那里打印的资源列表?
  • 这很难。这不仅仅是输出流的问题。这些消息不会打印出来,因为它们被 interactive() 支票挡住了。应该如何覆盖它并不明显,如果可以做到,可能会引入什么奇怪的副作用。