Read
Usage
• Read[stream] 从一个输入流读出表达式,并返回该表达式.
• Read[stream, type] 读指定类型的对象.
• Read[stream,  , , ... ] 读指定类型的一列对象.
Notes
• 可以读的类型:
| "\!\(\*StyleBox[\"\\\"Byte\\\"\", \"MR\"]\) " | 单字节,以一个整数编码返回 | | "\!\(\*StyleBox[\"\\\"Character\\\"\", \"MR\"]\) " | 单字符,以一个由单字符组成的字符串返回 | | "\!\(\*StyleBox[\"\\\"Expression\\\"\", \"MR\"]\) " | 完整的Mathematica表达式 | | "\!\(\*StyleBox[\"\\\"Number\\\"\", \"MR\"]\) " | 整数或近似数,以 E 格式给出 | | "\!\(\*StyleBox[\"\\\"Real\\\"\", \"MR\"]\) " | 近似数,以E格式给出 | | "\!\(\*StyleBox[\"\\\"Record\\\"\", \"MR\"]\) " | "使用记录分隔符分隔的字符序列" | | "\!\(\*StyleBox[\"\\\"String\\\"\", \"MR\"]\) " | 以换行符结束的字符串 | | "\!\(\*StyleBox[\"\\\"Word\\\"\", \"MR\"]\) " | ""使用字分隔符分隔的字符序列 |
• Real类型的对象可以用诸如C和Fortran语言所使用的科学记数法同标准的 Mathematica格式一样给出. 2.e5或 2E5,同 2*^5一样能够用来表示  . 以 Real类型读出的对象总以近似数返回.以 Real类型读出的对象若不明显包含小数点则以整数返回. • 可以使用的可选项:
| "\!\(\*StyleBox[\"\\\"NullRecords\\\"\", \"MR\"]\) " | "\!\(\*StyleBox[\"\\\"False\\\"\", \"MR\"]\) " | 是否假定在重复的记录分隔符之间存在一个空记录 | | "\!\(\*StyleBox[\"\\\"NullWords\\\"\", \"MR\"]\) " | "\!\(\*StyleBox[\"\\\"False\\\"\", \"MR\"]\) " | "whether to assume a null word between repeated word separators "
是否假定在重复的字分隔符之间存在一个空字 | | "\!\(\*StyleBox[\"\\\"RecordSeparators\\\"\", \"MR\"]\) " | "\!\(\*StyleBox[\"\\\"{\\\\\\\"\n\\\\\\\"}\\\"\", \"MR\"]\) " | ""记录之间所允许的分隔符 | | "\!\(\*StyleBox[\"\\\"TokenWords\\\"\", \"MR\"]\) " | "\!\(\*StyleBox[\"\\\"{}\\\"\", \"MR\"]\) " | ""被用作分隔符的字 | | "\!\(\*StyleBox[\"\\\"WordSeparators\\\"\", \"MR\"]\) " | "\!\(\*StyleBox[\"\\\"{\\\\\\\"\\\"\", \"MR\"]\) \!\(\*StyleBox[\"\\\"\\\\\\\",\\\"\", \"MR\"]\) \!\(\*StyleBox[\"\\\"\\\\\\\"\t\\\\\\\"}\\\"\", \"MR\"]\) " | ""字之间所允许的分隔符 |
• String类型的对象必须以换行符("\n"字符)结束. • 你可以为Read指定要查找的嵌套类型列表.每个所读的连续对象被放在列表结构中的相邻位置.搜索列表结构时使用深度优搜索方式. • 例如: Read[stream, Number, Number ] 从输入流读出一对数, 并给出一个有两个元素的列表. • 你可以使用 Read 来获得对象并插入任何表达式结构(不必是一个列表)中. 例如: Read[stream, Hold[Expression]] 获得一个表达式并把它放在Hold中. • Read 的第一个参数可以是 InputStream["name", n], 或就仅为"name",如果只存在一个打开的具有指定名称的输入流, . • 可以使用OpenRead来打开一个文件或管道以获得一个InputStream对象. • 对任何流来说,总存在一个"当前位置". 当你从一个流读出一个对象时,当前位置放在你读的输入之后. 因此对Read的连续调用可以用来读取文件之类的流中的连续对象. • 当你到达文件末尾后,对每个试图读出的对象Read返回EndOfFile. • 如果无法读取你所要求类型的对象,Read返回$Failed. • 如果在你试图读取的Mathematica表达式中存在一个语法错误,Read会把当前位置放在出错的地方,并返回$Failed.
|