Rev 25118 | Rev 28092 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{source}\title{Read R Code from a File or a Connection}\usage{source(file, local = FALSE, echo = verbose, print.eval = echo,verbose = getOption("verbose"), prompt.echo = getOption("prompt"),max.deparse.length = 150, chdir = FALSE)}\alias{source}\arguments{\item{file}{a connection or a character string giving the nameof the file or URL to read from.}\item{local}{if \code{local} is \code{FALSE}, the statements scannedare evaluated in the user's workspace (the global environment),otherwise in the environment calling \code{source}.}\item{echo}{logical; if \code{TRUE}, each expression is printedafter parsing, before evaluation.}\item{print.eval}{logical; if \code{TRUE}, the result of\code{eval(i)} is printed for each expression \code{i}; defaultsto \code{echo}.}\item{verbose}{if \code{TRUE}, more diagnostics (than just\code{echo = TRUE}) are printed during parsing and evaluation ofinput, including extra info for \bold{each} expression.}\item{prompt.echo}{character; gives the prompt to be used if\code{echo = TRUE}.}\item{max.deparse.length}{integer; is used only if \code{echo} is\code{TRUE} and gives the maximal length of the \dQuote{echo} of asingle expression.}\item{chdir}{logical; if \code{TRUE}, the R working directory ischanged to the directory containing \code{file} for evaluating.}}\description{\code{source} causes \R to accept its input from the named file (thename must be quoted). Input is read from that file until the end ofthe file is reached. \code{\link{parse}} is used to scan theexpressions in, they are then evaluated sequentially in the chosenenvironment.}\details{All versions of \R accept input from a connection with end of linemarked by LF (as used on Unix), CRLF (as used on DOS/Windows)or CR (as used on Mac). The final line can be incomplete, thatis missing the final EOL marker.If \code{\link{options}}("keep.source") is true (the default), thesource of functions is kept so they can be listed exactly as input.This imposes a limit of 128K chars on the function size and a nestinglimit of 265. Use \code{option(keep.source = FALSE)} when theselimits might take effect: if exceeded they generate an error.}\references{Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)\emph{The New S Language}.Wadsworth \& Brooks/Cole.}\seealso{\code{\link{demo}} which uses \code{source};\code{\link{eval}}, \code{\link{parse}} and \code{\link{scan}};\code{\link{options}("keep.source")}.}\keyword{file}\keyword{programming}\keyword{connection}