stRoke/R/source_lines.R
2023-01-05 10:21:46 +01:00

22 lines
762 B
R

#' @title Source Lines from a File
#' @description Sources specific lines from a file
#'
#' @param file A character string giving the path to the file to be sourced.
#' @param lines A numeric vector of line numbers to be sourced.
#' @param ... Additional arguments to be passed to \code{\link{source}}.
#'
#' @return The result of \code{\link{source}}.
#'
#' @examples
#' test_file <- tempfile(fileext = ".R")
#' writeLines(c("# Line 1", "2+2", "# Line 3"), test_file)
#' source_lines(test_file, 1:2, echo=TRUE)
#'
#' @export
#' @seealso This function is borrowed
#' from [christophergandrud](https://gist.github.com/christophergandrud/1eb4e095974204b12af9)
#'
source_lines <- function(file, lines, ...){
source(textConnection(readLines(file)[lines]), ...)
}