リスト指示ストリーム入出力

リスト指示ストリーム入出力で送信される値は、入力時には空白またはカンマで区切られ、出力時には空白で区切られます。各値は、値のデータ型によって決まる読み取り可能な形式で送信されます。

GET LIST 操作では、ASCII 入力データが、GET LIST 文で指定した変数のデータ型に自動的に変換されます。PUT LIST 操作では、計算式が出力用に ASCII 表現に変換されます。

次の単純な端末出力は、リスト指示ストリーム入出力の例を示しています。

PUT LIST(A,B);

この例では、A が fixed binary として宣言された整数で、現在の値が -75 であり、B が character(5) として宣言された文字列で、現在の値が HATBoxes である場合、結果は次のようになります。

Boxes

この結果がファイル F の現在の出力行に生成されます。フィールド boxes -75 は、fixed binary(15) の整数を文字列に変換して生成されています。この多数の空白により、最大限の値を指定したり、正符号を指定したり、小数値の小数点および先頭の 0 を指定したりできます。詳細については、「データ型変換」の章の「算術から文字列への変換」を参照してください。A の値と B の値は 1 つの空白で区切られています。最後の空白は B を次のフィールドから区切ります。

入力では、各空白またはカンマがフィールド ターミネータと見なされます。余分なカンマは使用できません。算術変数に代入されるフィールド内の余分な空白は無視されます。そのようなフィールドには、プログラムのテキストに書き込むことのできる有効な定数のみが含まれていなければなりません。

文字列変数に代入されるフィールドには、プログラムのテキストに書き込まれる文字列定数か、文字のシーケンスを含めることができます。後者の場合、そのシーケンスは、フィールド内の最初の空白以外の文字で始まり、次のカンマまたは空白の直前の文字で終わります (次の GET LIST 操作の例を参照)。空白またはカンマを含む文字シーケンスを 1 つの単位として扱う場合は、単一引用符 (‘) で囲む必要があります。次に例を示します。

GET FILE(F) LIST(A,B);

この例では、A が fixed binary(15) で B が character(5) である場合、次の行を指定すると値 A および B が次のようになります。

A B
boxes 5 boxes
boxes -4 5 boxes
boxes -4 5 abc-4