R语言定义指出:
函数返回的值是函数体的值, 这通常是未指定的最终表达,例如:
return()
换句话说,除非在函数调用期间某个点出现函数return(...)
,否则返回的值是可以在整个函数中编辑的正文值。
我是否可以在函数体中调用R中的函数,该函数在该点返回正文的值?
例如,调用这样的函数bodyVal()
,请考虑以下
f <- function(x) {
x^2
print(bodyVal())
x^3
print(bodyVal())
}
f
将具有以下所示的功能:
> f(4)
[1] 16
[1] 64
> print(f(4))
[1] 16
[1] 64
[1] 64
应该注意的是,在第一次通话中,f(4)
的值64
本身不会打印到终端。
似乎R应该能够拥有这样的功能,因为解释器必须跟踪正文的值,但我找不到任何文档。