Я успешно переопределил utils::View
как универсальную функцию, чтобы я мог использовать ее в своем пакете.Тем не менее, так получилось, что RStudio также определяет какой-то хук для этой функции.
Перед загрузкой моего пакета я вижу:
> View
function (...)
.rs.callAs(name, hook, original, ...)
<environment: 0x000001f74d5ff0b0>
И, глядя на эту функцию .rs.callAs
, яget:
> 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
не виден напрямую, я не уверен, что могу что-либо с этим поделать.И если я смогу каким-то образом включить его определение в свой пакет, я совсем не уверен, что смогу по-разному переопределить View в зависимости от того, запущен ли сеанс R в RStudio или нет.
Я явно не оченьоптимистично настроен, но я подумал спросить здесь, прежде чем сдаться!