1

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

4

0 回答 0