Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R sink vs console output--message()的反面是什么?_R - Fatal编程技术网

R sink vs console output--message()的反面是什么?

R sink vs console output--message()的反面是什么?,r,R,我试图完全控制控制台和(拆分)接收器文件的输出。首先,我希望在[ansi]控制台上对某些输出进行着色,但不要把我的Rout文件弄得乱七八糟 我知道两个基本命令: cat()输出到控制台和接收器文件 message()仅输出到控制台(通过文件stderr),而不输出到接收器文件 我从 messageln <- function(...) { boldblue <- "\033[34;1m"; ansioff <- "\033[0m&q

我试图完全控制控制台和(拆分)接收器文件的输出。首先,我希望在[ansi]控制台上对某些输出进行着色,但不要把我的Rout文件弄得乱七八糟

我知道两个基本命令:

  • cat()
    输出到控制台和接收器文件

  • message()
    仅输出到控制台(通过文件stderr),而不输出到接收器文件

我从

messageln <- function(...) {
    boldblue <- "\033[34;1m"; ansioff <- "\033[0m"
    if (interactive()) message(boldblue)  # fails.  stderr dest overrides
    cat(..., sep="")
    if (interactive()) message(ansioff)   # fails.  stderr dest overrides
}

messageln您不能使用
sink
?问得好,不容易。我已经用
split=T
打开了接收器文件。我想一种方法是关闭sink(),重新打开-append()sinkfile,但不使用split,打印我想要打印的内容,关闭sinkfile,然后使用split和append重新打开。这可能是最好的选择。。。