Существуют аналогичные, более старые вопросы, но с roxygen2 версии 3.0.0 все немного изменилось (как я понимаю из других вопросов и ответов здесь, на SO).
Я написал альтернативную функцию format.Date
, который я хочу экспортировать, как метод и как функцию.
Использование тега @export означает, что roxygen2 распознает его как S3-метод для печати и регистрирует его соответствующим образом.И когда я загружаю свой пакет и печатаю объект даты, мой метод вызывается.Пока все хорошо.
Но когда я затем вызываю format.ate, я все равно получаю обычный базовый метод.Это также случается, когда я использую debugonce(format.Date)
, 'debug-mark' устанавливается на base :: format.Date, поэтому, если мой метод вызывается, ничего не происходит.Или, если я хочу проверить исходный код: пользователю очень трудно понять, что то, что он видит с помощью View (format.Date), НЕ является тем, что выполняется.
И если пользователь смотрит в мой пакет, какие функции у меня естьпри условии, format.Date отсутствует.
Итак, я хочу, чтобы format.Date экспортировался как и как S3-метод, и как обычная функция с именем format.Date .Для этого я ожидаю, что мой файл NAMESPACE будет содержать обе следующие строки:
S3method(format,Date)
export(format.Date)
Возможно ли это в roxygen2?У меня сложилось впечатление, что вы могли бы сделать это в более ранних версиях (поскольку вы могли бы предоставить оба метода @ S3method / @ и @export), но я не могу заставить его работать сейчас.
Справочная информация: версия roxygen26.1.1 с R 3.5.1, запустить под Rstudio 1.1.453 / MacOS 10.13.6