R/choosefrom.R

Defines functions choosefrom

Documented in choosefrom

#' choose from a list via prompt
#'
#' @param from a list of objects
#' @param prompt
#' @param default.index
#' @param return.index
#'
#' @return
#' @export
#'
#' @examples
choosefrom <-
  function(from, prompt = '', default.index = 1, return.index = F) {
    while (T) {
      if (prompt == '')
        cat(sprintf("Choose item from list below\n"))
      cat(prompt)

      for (i in 1:length(from)) {
        cat(sprintf("%s. %s\n", i, from[[i]]))
      }

      index <-
        as.integer(as.numeric(input.number('>> ', default = default.index)))
      if (!(index %in% 1:length(from))) {
        tryagain()
        next
      }
      if (return.index)
        return(index)
      return(from[[index]])
    }
  }
yanxianUCSB/yxhelper documentation built on April 20, 2020, 4:09 p.m.