R帮助将invisible()
解释为“返回对象的临时不可见副本的函数”。我很难理解invisible()
的用途。您能否解释invisible()
的功能以及何时可以使用此功能?
我已经看到invisible()
几乎总是在print()
的方法函数中使用。这是一个例子:
### My Method function:
print.myPrint <- function(x, ...){
print(unlist(x[1:2]))
invisible(x)
}
x = list(v1 = c(1:5), v2 = c(-1:-5) )
class(x) = "myPrint"
print(x)
我在想,如果没有
invisible(x)
,我将无法执行以下任务:a = print(x)
但实际上并非如此。
因此,我想知道
invisible()
的作用,在哪里有用,最后在上面的方法print函数中它的作用是什么?非常感谢您的帮助。
最佳答案
从?invisible
:
因此,您可以分配结果,但是如果未分配,则不会打印。通常用于代替return
。您的print.myPrint
方法仅打印,因为您显式调用了print
。在函数末尾对invisible(x)
的调用仅返回x
的副本。
如果您不使用invisible
,则如果未分配x
也会被打印。例如:
R> print.myPrint <- function(x, ...){
+ print(unlist(x[1:2]))
+ return(x)
+ }
R> print(x)
v11 v12 v13 v14 v15 v21 v22 v23 v24 v25
1 2 3 4 5 -1 -2 -3 -4 -5
v11 v12 v13 v14 v15 v21 v22 v23 v24 v25
1 2 3 4 5 -1 -2 -3 -4 -5
关于r - 函数invisible()有什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11653127/