Как экспортировать метод S3 как метод и обычную функцию с помощью roxygen2 - PullRequest
0 голосов
/ 03 декабря 2018

Существуют аналогичные, более старые вопросы, но с 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...