我已经成功地重新定义utils::View
为一个通用函数,这样我就可以在我的包中使用它了。然而,碰巧 RStudio 也在这个函数上定义了某种钩子。
在加载我的包裹之前,我看到:
> View
function (...)
.rs.callAs(name, hook, original, ...)
<environment: 0x000001f74d5ff0b0>
并寻找该.rs.callAs
功能,我得到:
> findFunction('.rs.callAs')
[[1]]
<environment: 0x000001f74eb94598>
attr(,"name")
[1] "tools:rstudio"
加载我的包后,我看到:
> View
standardGeneric for "View" defined from package "summarytools"
function (...)
standardGeneric("View")
<bytecode: 0x000001f752ecb7e0>
<environment: 0x000001f754a8e678>
Methods may be defined for arguments: ...
Use showMethods("View") for currently available ones.
由于tools:rstudio
不是直接可见的,我不确定我能做些什么。如果我能以某种方式将它的定义包含在我的包中,我完全不确定我是否可以根据 R 会话是否在 RStudio 中运行而以不同的方式重新定义 View。
对此我显然不是很看好,但我想在放弃之前在这里问一下!