r - 变量赋值:某个帖子中 "<-"和 "="之间的差异并避免使用 "return"

标签 r return variable-assignment

我在这里找到了关于该帖子的以下解决方案: https://stackoverflow.com/a/34327262/2994949

用户eipi10使用=安装了<-corrFunc 赋值功能。他为什么这样做?

此外,他/她在下一行中创建 data.frame,但不使用 return从代码中返回该 data.frame 。该功能有效,所以我想知道为什么以及如何。

编辑 使用或不使用return有什么好处吗?命令?这是以前没有回答过的问题,这就是为什么我认为这不是重复的。

我试图在评论中问这个问题,但我需要 50 声望才能发表评论,为什么我在最初的帖子中给出答案,它立即被删除了。有人能告诉我,当我无法发表评论且无法发布答案时,如何询问我在线程中找到的解决方案吗?

谢谢。

编辑

我的问题的第一部分已通过链接部分回答,但我仍然不明白为什么 return被避免。谢谢:)

最佳答案

来自 ?return :

If the end of a function is reached without calling return, the value of the last evaluated expression is returned.

例如,

f <- function() {
   x <- 1
   x
}

相当于与 return(x) 相同的功能作为最后的陈述。也许令人惊讶的是,

f <- function() {
   x <- 1
}

也返回相同的值,但以不可见的方式返回。关于始终使用显式 = 是否是更好的做法,存在一个较小的分歧(可能不如 <-return() 分歧那么强烈)。 :我相信这是一个很好的做法(因为它使代码的意图更加明确),但是许多老派的 R 程序员更喜欢隐式返回值。

关于r - 变量赋值:某个帖子中 "<-"和 "="之间的差异并避免使用 "return",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39806544/

相关文章:

r - 转换为平衡面板数据

r - 在 R 中,从列表中的文件夹中读取文件,并通过文件名(不带文件格式 (.fa))分配列表元素名称

python - 重新分配列表内列表的元素

Java泛型方法

c++ - 这个函数的返回类型是什么?

java - 当我在 Java 中只有一个对象的引用时,如何将一个对象分配给另一个对象?

python - 切片整个列表的切片赋值和直接赋值有什么区别?

R(统计)范围错误使用 transformBy(),doBy 包的一部分

r - 如何在R或ArcGIS中处理多边形shapefile中的“孤立孔”?

c - 函数返回的目的不明确