TITLE(scan @@ Read Data Values)
USAGE(
scan(file="", what=numeric(), nmax=0, sep="",
        skip=0, nlines=0)
)
ALIAS(scan)
ARGUMENTS(
ARG(file @@ the name of a file to read data values from.
If the specified file is LANG(""),
then input is taken from the keyboard
(in this case input can be terminated by a blank line).)
ARG(what @@ the type of LANG(what) gives the type of data to be read.
If LANG(what) is a list it is assumed that the lines of the data
file are records which each contain LANG(length(what)) items.)
ARG(nmax @@ the maximum number of data values to be read, or if
LANG(what) is a list, the maximum number of records to be read.)
ARG(sep @@ by default, scan expects to read white-space delimited
input fields.  Alternatively, LANG(sep) can be used to specify a
character which delimits fields.)
ARG(skip @@ this many lines of the input file should be skipped
before starting to read data values.)
ARG(nlines @@ the maximum number of lines of data to be read.)
)
DESCRIPTION(
The value of LANG(what) can be a list of types, in which case
LANG(scan) returns a list of vectors with the types given by the
types of the elements in LANG(what).  This provides a way of reading
columnar data.

Keyboard entry is terminated by typing a blank line.
)
SEEALSO(
LANG(LINK(read.table)) for more user-friendly reading of data matrices.
LANG(LINK(write)).
)
EXAMPLES(
system("echo 'TITEL extra line' > ex.data")
system("echo 2 3 5 7 >> ex.data")
system("echo 11 13 17 >> ex.data")
scan("ex.data", skip = 1)
)
