【发布时间】:2014-02-27 17:52:49
【问题描述】:
我正在帮助我的一个朋友编写他的一些代码。我不知道如何解释这种奇怪的行为,但我可以告诉他他的函数没有明确返回任何东西。这是一个最小的可重现示例:
derp <- function(arg){
arg <- arg+3
}
data <- derp(500)
data
#[1] 503
derp(500)
#nothing outputs
class(derp(500))
#[1] "numeric"
有没有可以用谷歌搜索的名称?为什么会这样?为什么在对 derp() 的调用完成后 arg 没有被销毁?
【问题讨论】:
-
试试
z <- derp(500); z或(derp(500))。另外,看看如果你没有在你的函数源中分配arg + 3然后使用这个函数会发生什么。 -
函数末尾没有
arg,你就不会打印任何东西。试试(derp(500))。