变量赋值:某个帖子中的“< - ”和“=”之间的差异&避免使用“返回”

时间:2016-10-01 12:21:27

标签: r return variable-assignment

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

用户 eipi10 使用=的{​​{1}}内容为<-功能分配值。他为什么这样做?

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

修改 它是否为使用或不使用return命令提供了任何优势?这是以前没有回答的问题,这就是我认为这不是重复的原因。

我试着在评论中提出这个问题,但是我需要50个声誉才能发表评论,为什么我在初始帖子中给出了答案,它立即被删除了。任何人都可以告诉我,当我无法发表评论并且无法发表答案时,如何询问我在线程中找到的解决方案?

谢谢。

修改

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

1 个答案:

答案 0 :(得分:2)

来自?return

  

如果在没有调用return的情况下到达函数的结尾,则返回最后一个计算表达式的值。

例如,

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

等同于return(x)作为最后一个语句的相同函数。也许令人惊讶的是,

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

也返回相同的值,但返回隐形。有一种轻微的分裂(可能不如=<-分裂一样强烈)关于是否总是使用明确的return()更好的做法:我相信它很好的做法(因为它使代码的意图更明确),但许多老派的R程序员更喜欢隐含的返回值。