Описание и использование автозаполнения rStudio

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

Я разрабатываю небольшой пакет на R, используя руководство от Хэдли Виккема 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... Но когда я пытаюсь использовать автозаполнение с помощью Tab, в этом маленьком всплывающем окне нет информации...

Все остальные пакеты имеют немного информации о том, как использовать функцию.

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

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))
    })
}    
Другие вопросы по тегам