read, readln
read, readln |
Purpose
Synopsis
procedure read(e1:expr[, e2:expr...])
procedure readln
procedure readln(e1:expr[, e2:expr...])
Argument
e1, e2,...
|
Expression or list of expressions of basic type
|
Example
The following reads (possible split over several lines)
12 45 word, followed by
toto(12 and 45)=word:
declarations i,j:integer s:string ts:array (range,range) of string end-declarations read(i, j, s) readln("toto(", i, "and", j, ")=", ts(i,j))
Further information
1. These procedures assign the data read from the active input stream to the given symbols or try to match the given expressions with what is read from the input stream. If
ei is a symbol that can be assigned a value, the procedure tries to recognise from the input stream a constant of the required type and, if successful, assigns the resulting value to
ei. If
ei is a constant or a symbol that cannot be reassigned, the procedure tries to read in a constant of the required value and succeeds if the resulting value corresponds to
ei. These procedures do not fail but set the control parameter
nbread to the number of items actually recognized.
2. Note that the
read procedures are based on the lexical analyser of Mosel: items are separated by spaces and a string that contains spaces must be quoted using either single or double quotes (the quotes are automatically removed once the string has been identified).
3. The procedure
readln expects all the items to be recognized to be contained in single line. The function
read ignores changes of line. If the procedure
readln is used without parameters it skips the end of the current line.
Related topics