2014-06-27 3 views
2

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

Я разрабатываю небольшой пакет в R, используя руководство от Hadley Wickem http://adv-r.had.co.nz/Package-development-cycle.html

я перешел на dev_mode(), установить() мой пакет и загрузить его с библиотекой (имя пакета)

Так один пример:

#' logging function 
#' 
#' This function tries to use logging functionality. If the logging package 
#' isn't installed, it uses a normal print command 
#' 
#' @param string the string to print 
#' @param level the level of the log output, for example \code{WARN}, 
#' \code{INFO} or \code{ERROR} 
#' @examples 
#' \dontrun{ 
#' mylog('for your information') 
#' mylog('this is a warning','WARN') 
#' } 
mylog <- function(string,level='INFO') { 
    tryCatch(
    switch(level, 
      WARN=logwarn(string), 
      ERROR=logerror(string), 
      INFO=loginfo(string), 
      {logwarn(sprintf('warnlevel "%s" is not defined!',level)) 
      loginfo(string)}), 
    error=function(condition) { 
     cat(sprintf('%s: %s\n',level,string)) 
    }) 
} 

Когда я сейчас набираю ?mylog Я получаю свою помощь в окне справки внутри rStudio ... Но когда я пытаюсь использовать auto complete с Tab, в этом маленьком всплывающем окне нет информации ...

Все остальные в пакетах есть небольшая информация, как использовать эту функцию.

Надежда кто-то может дать мне подсказку ...

+0

Спасибо за вопрос, это то, что я тоже ищу. –

+0

На самом деле, похоже, я нашел решение ... Мне нужно экспортировать функцию с тегом '@ export' ... Теперь появляется справка ... – drmariod

ответ

1

Я нашел решение ... Или, по крайней мере, я надеюсь, что так ....

Добавление @export тега в документации помогает и обеспечивает помощь в автозавершении ...

#' logging function 
#' 
#' This function tries to use logging functionality. If the logging package 
#' isn't installed, it uses a normal print command 
#' 
#' @param string the string to print 
#' @param level the level of the log output, for example \code{WARN}, 
#' \code{INFO} or \code{ERROR} 
#' @export 
#' @examples 
#' \dontrun{ 
#' mylog('for your information') 
#' mylog('this is a warning','WARN') 
#' } 
mylog <- function(string,level='INFO') { 
    tryCatch(
    switch(level, 
      WARN=logwarn(string), 
      ERROR=logerror(string), 
      INFO=loginfo(string), 
      {logwarn(sprintf('warnlevel "%s" is not defined!',level)) 
      loginfo(string)}), 
    error=function(condition) { 
     cat(sprintf('%s: %s\n',level,string)) 
    }) 
}