Read
[stream]Read
[stream, type]Read
[stream, type]Read[stream, Hold[Expression]]
Hold
. type is one of:
stream = StringToStream["abc123"];
Read[stream, String]
Read[stream, String]
stream = StringToStream["abc 123"];
Read[stream, Word]
Read[stream, Word]
Read[stream, Word]
stream = StringToStream["123, 4"];
Read[stream, Number]
Read[stream, Number]
Read[stream, Number]
stream = StringToStream["2+2\n2+3"];
Read
with a Hold[Expression]
returns the expression it reads unevaluated so it can be later inspected and evaluated:
Read[stream, Hold[Expression]]
Read[stream, Expression]
Reading a comment, a non-expression, will return Hold[Null]
stream = StringToStream["(* ::Package:: *)"];
Read[stream, Hold[Expression]]
stream = StringToStream["123 abc"];
Read[stream, {Number, Word}]
Read[stream, {Number, Word}]
Multiple lines:
stream = StringToStream["\"Tengo una\nvaca lechera.\""]; Read[stream]