Visual Studio v.s 中的 R 函数定义。贵桂

R function definition in Visual Studio v.s. R Gui

当我在 R Gui 中编写不带括号的函数名称时(例如 library),我看到了完整的函数定义(几页代码);在 Visual Studio 2017 环境中,我只看到以下内容:

function (...) 
{
    if (nargs() == 0) {
    invisible(rtvs:::send_notification("!Library"))
}
else {
    base::library(...)
    }
}
<environment: namespace:rtvs>

为什么Visual Studio显示缩略版?它们等价吗?如何获得完整的功能?

让我们调查一下您复制的代码。

if (nargs() == 0) {
invisible(rtvs:::send_notification("!Library"))
}

rtvs 是一个 Visual Studio R 库。除非有参数,否则代码默认为 rtvs 库相关功能,然后调用 base::library() 函数。在这种情况下,显示的函数代码没有缩写(... 表示传递给 library() 的任何参数)。

您还可以从底部的 <environment: namespace:rtvs> 环境详细信息中判断该函数不是基本 R 代码。

对于查看 R 中所有函数类型的函数定义,How can I view the source code for a function? 有一些不错的答案。