Почему Roxygen распознает некоторые функции и S3Methods и переименовывает некоторые функции в NAMESPACE? - PullRequest
0 голосов
/ 01 мая 2020

Я беру на себя проект R и пытаюсь сохранить максимально возможное согласование имен от человека, который работал над проектом до меня.

Я создал несколько функций для разрабатываемого пакета. Над каждой функцией у меня есть #' @export, который используется для создания файла NAMESPACE в roxygen2:

#' @export
a.function = function(x){
# do stuff
}

#' @export
another.function = function(x){
# do stuff
}

Когда я создаю документацию с использованием roxygen2, создается файл NAMESPACE классифицирует некоторые функции как методы. Точки (.) также будут преобразованы в запятые (,). Например, пространство имен для вышеуказанных функций может выглядеть как

S3method(a,function)
export(another.function)

Кроме того, человек, который работал над проектом до меня, иногда использовал 3 периода при именовании функции:

yet.another.function = function(x){
# do stuff
}

Но Roxygen2 преобразует первый период в запятую во всех функциях с 3 периодами в файле NAMESPACE. Под этим я подразумеваю, что приведенная выше функция будет выглядеть как

export(yet,another.function)

в файле NAMESPACE.

Мои вопросы следующие:

  • Как Roxygen различать guish некоторые функции как S3method, а некоторые как функции и использовать export в NAMESPACE?

  • Возможно ли принудительно или принудительно Roxygen для распознавания всех функций как функций и использования export?

  • Можно ли остановить Roxygen от преобразования периодов в имени функции в запятые в NAMESPACE file?

К сожалению, я не смог напрямую найти ответ на них ни в документации Roxygen, ни в других публикациях переполнения стека.

...