1

R 中顶级任务回调的文档中,向回调发送了四个参数:exprvalueokvisible。这些大多是有道理的。但visible定义为:

任务的输出是否被打印。

我将此解释为当visible==TRUE有东西输出到控制台(或任何地方)并且visible==FALSE没有任何东西输出到控制台时。

问题:我希望visible==TRUE何时使用catprint使用,因为有可见的输出。但visible论据实际上是FALSE在这些情况下。

例子:

addTaskCallback(function(expr,value,ok,visible) {cat(visible,'\n'); TRUE}, name='ex')
1 # makes sense, something is printed
x <- 1 # makes sense, nothing is printed
x # makes sense, something is printed
print(x) # ???
cat(x) # ???

removeTaskCallback('ex') # cleanup

visible应该TRUE在最后两个例子中吗?如果不是,为什么?

4

1 回答 1

2

我认为这visible是指是否打印函数的返回值,而不是函数在执行期间是否打印任何内容。请注意,大多数print方法实际上都以invisible()调用结束,以不可见地返回打印的对象。类似地,打印输出与cat它的返回值不同,它是不可见的NULL

于 2013-11-01T12:17:46.227 回答