我正在浏览一些R代码。某些环境定义为
"PackageName":::."EnvironmentName"
我不能得到的是什么:::和。是给?使用:::只是一个约定或某种范围操作符?此外,"。"代表什么?
THX
答案 0 :(得分:2)
:::
是用于访问包名称空间中的内部变量的运算符。
例如
utils:::.addFunctionInfo
从.addFunctionInfo
包访问函数utils
。 :::
是一个运算符,基础函数是`:::`(pkg, name)
。可以使用参数"utils"
,".addFunctionInfo"
:
> `:::`("utils", ".addFunctionInfo")
function (...)
{
dots <- list(...)
for (nm in names(dots)) .FunArgEnv[[nm]] <- dots[[nm]]
}
<bytecode: 0x000000002e4240d0>
<environment: namespace:utils>
当R解析器看到utils:::.addFunctionInfo
时,它会将其解释为`:::`("utils", ".addFunctionInfo")
您可以使用
?`:::`
这种情况下的点只是变量名称的一部分。在unix中,它通常用于表示隐藏文件。