Read

Read[stream]
入力ストリームから式を1つ読み込み,この式を返す.

Read[stream, type]
指定されたタイプのオブジェクトを1つ読み込む.

Read[stream, {type1, type2, ...}]
指定されたタイプの一連のオブジェクトを読み込む.

詳細とオプション詳細とオプション

  • 読込み可能なタイプ:
  • Byte整数コードとして返される1バイト
    Character1文字列として返される1文字
    Expression完全な Mathematica の式
    Number"E" フォーマットで与えられる整数または近似された数
    Real"E" フォーマットで与えられる近似された数
    Recordレコードセパレータで区切られた文字列
    String改行で終る列
    Wordワードセパレータで区切られた文字列
  • Real型のオブジェクトは,Mathematica 形式をはじめ,CやFortran等の言語で使われる科学的数記法形式で与えられる.数を表すには,をはじめ,あるいは等の形式が使われる.Real型のオブジェクトは,常に近似数として返される.Number型は,具体的な小数を含まない限り,整数として返される.
  • 以下のオプションを与えることができる.
  • NullRecordsFalse繰り返されたレコードセパレータの間に長さ0のレコードが存在するとみなすかどうか
    NullWordsFalse繰り返されたワードセパレータの間に長さ0のワードが存在するとみなすかどうか
    RecordSeparators{"\r\n","\n","\r"}レコード間に許されたセパレータ
    TokenWords{}境界子とみなされるワード
    WordSeparators{" ","\t"}ワード間に許されたセパレータ
  • String型のオブジェクトは,改行で終ることが要求される.
  • Readが探すタイプを任意にネストしたリストで指定することができる.継続したそれぞれのオブジェクトの読込みはリスト構造の次の位置に置かれる.深さ優先のリスト構造の旋回が使用される.
  • Read[stream, {Number, Number}]は,入力ストリームから数のペアを読み込み,結果として2要素のリストを与える.
  • Read[stream, {{Number, Number}, {Number, Number}}]は,各行,各列の順で2×2行列を読み込む.
  • Readを使って,リストに限らず任意の式構造に挿入するオブジェクトを得ることができる.例:Read[stream, Hold[Expression]]は,式を得てHoldの内側に置く.
  • Readの第1引数は,InputStream["name", n]である.開いている入力ストリームが指定された名称で一意的に定まる場合,単純にが使える.
  • OpenReadを使ってInputStreamオブジェクトを得るために,ファイルやパイプを開くことができる.
  • 任意のストリームには,これに維持される「現行のポイント」が常に存在する.オブジェクトをストリームから読み込む際に,現行のポイントは読み込んだ入力の直後に残される.Readへの継続した呼出しは,ファイル等のストリームの継続したオブジェクトの読込みに使われる.
  • ファイルの終りに到達した後,読込みを試行するとReadは,EndOfFileをそれぞれのオブジェクトに返す.
  • 要求されたタイプのオブジェクトが読み込めない場合,Read$Failedを返す.
  • 読込みを試行しているMathematica の式に文法エラーが存在する場合,Readは,現行のポイントをそのエラーの位置に残して,$Failedを返す.

例題例題すべて開くすべて閉じる

例 (2)例 (2)

ストリームを開く:

In[1]:=
Click for copyable input
Out[1]=

ストリームから式を読む:

In[2]:=
Click for copyable input
Out[2]=

ストリームを開く:

In[1]:=
Click for copyable input
Out[1]=

ストリームから数を読む:

In[2]:=
Click for copyable input
Out[2]=

語と数を読む:

In[3]:=
Click for copyable input
Out[3]=

ストリームを閉じる:

In[4]:=
Click for copyable input
Out[4]=
バージョン 1 の新機能 | バージョン 3 での修正機能
New to Mathematica? Find your learning path »
Have a question? Ask support »