我读了一个question关于包含 formals
函数的函数参数,我很想知道函数是如何定义的。我使用了 base:::formals
,它给出了:
function (fun = sys.function(sys.parent()))
{
if (is.character(fun))
fun <- get(fun, mode = "function", envir = parent.frame())
.Internal(formals(fun))
}
我不清楚这是如何工作的,因为在 formals
函数的定义中使用了 formals
函数。这对我来说似乎是自相矛盾的。
最佳答案
.Internal(formals(fun))
调用一个R内部函数,用C编码。正好这个C内部函数也叫formals
。
所以它不会调用同一个函数,只是一个内部函数,恰好在内部被命名为“formals”。
比照https://stat.ethz.ch/R-manual/R-devel/library/base/html/Internal.html
关于r - 函数的循环定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61644906/