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 应该能够具有这样的功能,因为解释器必须跟踪主体的值,但我找不到任何文档。