R 中是否有类似Common Lisp 函数 DRIBBLE或Unix 命令 tee的东西?
具体来说,我希望我键入 的所有内容以及 R 打印回给我的所有内容都附加到一个文件中(tee
仅捕获标准输出;我想要所有内容:错误、警告、打印、猫、我的输入)。
我发现了一条关于该主题的10 年前的消息,它提供了一个弱版本(它没有捕获来自 cat/print 的输出)。
标准函数sink只捕获(不重复)R 的输出;它没有捕获我的输入。
有没有更好的办法?
R 中是否有类似Common Lisp 函数 DRIBBLE或Unix 命令 tee的东西?
具体来说,我希望我键入 的所有内容以及 R 打印回给我的所有内容都附加到一个文件中(tee
仅捕获标准输出;我想要所有内容:错误、警告、打印、猫、我的输入)。
我发现了一条关于该主题的10 年前的消息,它提供了一个弱版本(它没有捕获来自 cat/print 的输出)。
标准函数sink只捕获(不重复)R 的输出;它没有捕获我的输入。
有没有更好的办法?
查看txtStart
TeachingDemos 包中的函数(和相关函数)。我认为除了捕获错误之外,它可以完成您想要的一切(并且TaskCallback
需要更新 R 中的系统才能发生这种情况)。
另一种选择是在另一个环境中运行 R,例如 ESS(在 Emacs 内部)(还有其他环境,但我对它们不太熟悉)。然后所有内容都在编辑器/缓冲区中捕获,并可以保存到文件中。
请注意,该sink
函数确实有一个split
参数,可以tee
在屏幕上显示输出并将其复制到文件中,但它仍然只执行输出,而不是输入命令。
您可能想要sink()
- 参见help(sink)
示例。