2015-07-14 2 views
4

Мне хорошо известно, как заставить roxygen запускать пример, когда код находится непосредственно в комментариях roxygen. Тем не менее, некоторые примеры могут быть несколько подробными или вам нужны примеры, скомпилированные в каталоге примеров. В этом случае @example file_path работает нормально, но я не могу понять, как не запускать roxygen (т. Е. \dontrun) пример файл.roxygen2 как не запустить файл примера

Это признается очень похожим на вопрос this, но комментарии показывают, что на эту проблему не ответил.

test.r

# this does not work 
#' @title test_fun 
#' @example \dontrun{examples/test_example.R} 
test <- function(){ 
    print("hello") 
} 

# this does 
#' @title test 
#' @examples 
#' \dontrun{ 
#' test() 
#' } 
test <- function(){ 
    print("hello") 
} 

test_example.R

test() 

Как я могу получить прежний подход к работе?

+1

не уверен в этом конкретном вопросе, но вы можете пропустить все с помощью '--no-examples' – rawr

+0

@rawr, что предотвратит запуск всех примеров при выполнении проверки R CMD, такой флаг. Мне нужно явно сказать, что не запускайте этот пример, но все еще есть в документации. – cdeterman

ответ

0

Я думаю, что это работает, если вы просто добавить \dontrun в примере сценария, так что ваш test_example.R будет выглядеть так:

\dontrun{ 
test() 
} 

Даже если сейчас пример сценария не может быть source d непосредственно как \dontrun не является выражением R ...

2

Похоже, что я могу выполнить это, используя комментарии в стиле roxygen2 для блока \dontrun{} в файле примера. Это ограничивает ограничение в Michal's answer.

Создайте файл примера, который выглядит следующим образом:

#' \dontrun{ 
test() 
#' } 

Более надежно, вы можете обернуть ваш пример в if(interactive()) {} блок, который не будет выполняться во время проверки, но позволяет вручную запускать через пример.

Смежные вопросы