Read
Usage
• Read[stream] reads one expression from an input stream, and returns the expression. • Read[stream, type] reads one object of the specified type. • Read[stream, { , , ... }] reads a sequence of objects of the specified types.
Notes
• Possible types to read are:
| Byte | single byte, returned as an integer code | | Character | single character, returned as a one-character string | | Expression | complete Mathematica expression | | Number | integer or an approximate number, given in "E" format | | Real | approximate number, given in "E" format | | Record | sequence of characters delimited by record separators | | String | string terminated by a newline | | Word | sequence of characters delimited by word separators |
• Objects of type Real can be given in the scientific notation format used by languages such as C and Fortran, as well as in standard Mathematica format. A form like 2.e5 or 2E5 as well as 2*^5 can be used to represent the number  . Objects read as type Real are always returned as approximate numbers. Objects read as type Number are returned as integers if they contain no explicit decimal points. • The following options can be given: • Objects of type String must be terminated by newlines ( "\n" characters). • You can specify any nested list of types for Read to look for. Each successive object read will be placed in the next position in the list structure. A depth-first traversal of the list structure is used. • Example: Read[stream, {Number, Number}] reads a pair of numbers from an input stream, and gives the result as a two-element list. • Read[stream, {{Number, Number}, {Number, Number}}] reads a  matrix, going through each column, then each row. • You can use Read to get objects to insert into any expression structure, not necessarily a list. Example: Read[stream, Hold[Expression]] gets an expression and places it inside Hold. • The first argument to Read can be InputStream["name", n], or simply "name" if there is only one open input stream with the specified name. • There is always a "current point" maintained for any stream. When you read an object from a stream, the current point is left after the input you read. Successive calls to Read can therefore be used to read successive objects in a stream such as a file. • Read returns EndOfFile for each object you try to read after you have reached the end of a file. • Read returns $Failed if it cannot read an object of the type you requested. • If there is a syntax error in a Mathematica expression that you try to read, then Read leaves the current point at the position of the error, and returns $Failed. • New in Version 1; modified in 3.
|