У меня есть сценарий использования, где я временно хочу перезаписать package:::function()
для тестов или потому, что я буду использовать функцию только один раз по-новому.
Я нашел assignInNamespace
, который выполняет эту работу,например,
joke <- function(...) {return("hurz")}
assignInNamespace(x = "add1.glm", value = joke, pos = "package:stats")
stats:::add1.glm()
# [1] "hurz"
Но документы ??assignInNamespace
из пакета utils
state
Предупреждение: assignInNamespace не должен использоваться в конечном коде, и в будущем выдает ошибку, еслизвонил из пакета. Уже определенные виды использования запрещены.
К сожалению, я не могу найти, что на самом деле означает предупреждение, и было бы время, если бы эта функциональность assignInNamespace
будет полностью удален через некоторое время.Пропустили какую-либо документацию?
Редактировать : Я думал, что это повлияет в основном на мои собственные пакеты.