2013-08-31 2 views
8

Использование документации roxygen2 с функцией devtools document автоматически генерирует поле Collate: в пакете ОПИСАНИЕ, независимо от того, необходимо ли загружать файлы библиотеки пакетов в определенном порядке.Как указать порядок сортировки в Roxygen2?

Я работаю над пакетом с кучей S4-методов и хочу быть уверенным в том, что определения классов загружаются до использования каких-либо методов или других классов, которые, как я понимаю, я могу сделать с списком Collate, m не уверен, как указать это в формате документации roxygen2.

roxygen2 manual ссылается на тег @include, но похоже, что на самом деле он может просто включать код в документацию, например, для добавления внешних примеров через флаг @examples. Может ли это использоваться для указания порядка сортировки для методов?

+0

Если сортировки поле уже находится в ОПИСАНИИ. roxygen2 не генерирует его. Поэтому я бы сказал, что вы должны сделать заказ, которого хотите, и его следует уважать. (Я думаю, поэтому комментарий и ответ). –

+0

было бы неплохо узнать, правильна ли моя интерпретация @import. Также было бы неплохо, если бы функция определяла порядок сортировки из списка зависимостей файлов, а не от необходимости вручную ее выполнять. – cboettig

+0

импорт используется для импорта пакета. Это похоже на перечисление пакета в разделе «Зависимости», за исключением того, что оно намного более чистое, поскольку оно не загрязняет пространство имен пользователя. – Dason

ответ

13

Тег include используется, чтобы указать, что одному файлу нужен другой для работы. (Название может быть не лучшим выбором, но это жизнь). Если вы хотите убедиться, что файл B загружен перед файлом A, убедитесь, что @include B в A. Roxygen позаботится о том, чтобы упорядочить поле сортировки, чтобы удовлетворить ваши ограничения.

+0

блестящий, поэтому включение делает только то, что мне нужно! – cboettig

3

Я просто понял, что если добавить @include заявление в верхней части вашего файла R, он будет мешать следующему блоку roxygen2 документации, если не следовать с NULL, например

#' @include something.R 
NULL 

#' Documenting a function 
#' 
#" It does something... 
#' 
#' @param ... 
#'