r - 函数的循环定义

标签 r function

我读了一个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/

相关文章:

MySQL - 搜索 JSON 数据列

javascript - 鼠标悬停在整个页面而不是一个元素上工作?

r - 如何估计 R 中扩展卡尔曼滤波器的参数

r - 如何将 ggplot2 中的折线图和条形图与一个分组变量相结合?

r - “Error in open.connection(x, "rb ") : Timeout was reached”

r - 在 R 中计算 RMSE 时遇到问题

r - 如何使用 quantmod 在新图中叠加多个 TA?

PHP:定义具有可变参数计数的函数?

ios - 在单独的类中使用 func() 需要拥有该方法的类的实例

c - 函数指针执行错误