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)
Run Code Online (Sandbox Code Playgroud)
我在想,如果没有invisible(x),我将无法完成如下任务:
a = print(x)
Run Code Online (Sandbox Code Playgroud)
但事实并非如此.所以,我想知道它有什么invisible()作用,它在哪里有用,最后它在上面的方法打印功能中的作用是什么?
非常感谢您的帮助.
从 R3.0 开始,for循环返回NULL(如文档所述):
x <- for(i in 1:3) {i+1}
x
# NULL
Run Code Online (Sandbox Code Playgroud)
但是,使用右箭头赋值,它似乎返回最后一个值:
for(i in 1:3) {i+1} -> x
x
# [1] 4
Run Code Online (Sandbox Code Playgroud)
该文档没有评论->,并且正如 Ben Bolker 所指出的那样,->似乎<-无论如何都转换为:
expression(1 -> x)
# expression(x <- 1)
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
->与<-这种情况下的行为不同?