我正在查看一些 R 代码。一些环境定义为
"PackageName":::."EnvironmentName"
我不明白::: 和 .是给?使用::: 只是一种约定还是某种范围运算符?此外,“.”有什么作用?代表什么?
谢谢
最佳答案
:::
是用于访问包命名空间中的内部变量的运算符。
例如
utils:::.addFunctionInfo
从utils
包中访问函数.addFunctionInfo
。 :::
是一个运算符,底层函数是 `:::`(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")
您可以使用以下方式获取有关运算符(operator)的帮助
?`:::`
本例中的点只是变量名称的一部分。在unix 中它经常用来表示隐藏文件。
关于r - ":::"是一个运算符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29325257/