R - Переопределение утилит :: Рассматривать как универсальные, не конфликтуя с RStudio - PullRequest
0 голосов
/ 27 декабря 2018

Я успешно переопределил 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 или нет.

Я явно не оченьоптимистично настроен, но я подумал спросить здесь, прежде чем сдаться!

...