gpt4 book ai didi

r - 包什么时候需要为自己的对象使用:::

转载 作者:行者123 更新时间:2023-12-04 01:10:13 27 4
gpt4 key购买 nike

考虑这个具有两个功能的 R 包,一个是导出的,另一个是内部的
你好.R

#' @export
hello <- function() {
internalFunctions:::hello_internal()
}
hello_internal.R
hello_internal <- function(x){
print("hello world")
}
命名空间
# Generated by roxygen2 (4.1.1): do not edit by hand

export(hello)

当这个被选中( devtools::check() )它返回 NOTE
There are ::: calls to the package's namespace in its code. A package
almost never needs to use ::: for its own objects:
‘hello_internal’


鉴于 NOTE几乎从不 ,什么情况下 一个包需要使用 :::为自己的对象?

额外
我有一个非常相似的 related question我确实需要 :::对于内部函数,但我不知道 为什么这是必需的。希望对这个问题有一个答案将解决那个问题。我怀疑解锁环境会做一些我意想不到的事情,因此不得不使用 :::在内部函数上。
如果它们被视为彼此重复,我将删除另一个。

最佳答案

在一般情况下,你永远不需要这个。如果您以不寻常的方式调用父函数(例如,您手动更改了它的环境,或者您从另一个没有附加包的进程调用它),您可能需要它。

关于r - 包什么时候需要为自己的对象使用:::,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36852140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com