r - ":::"是一个运算符吗?

标签 r operator-keyword

我正在查看一些 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/

相关文章:

r - 在散点图上添加 PIL 逊相关系数

r - ggplot2:在函数中表示时间

r - 根据上方和下方行的平均值填充列中缺失的行

回归方程在所有数据之外生成模型

C++ - 重载 [] 运算符

r - 尝试使用 R fitdistr{MASS} 拟合 Gamma 分布时出错

c++ - 二维 vector 中的运算符 []

generics - Kotlin:编译器无法为某些运算符推断出通用类型

c++ - 我可以命名 ostream << 运算符吗?

python - 在 Python 中使用运算符添加