B8. データ入出力文

目次へ戻る; 前のページ; 次のページ

解説

 Plain_Basicでは、外部ファイルを介してデータを直接読み書きする命令文を持たせてありません。しかし、これに代わる方法があります。外部ファイルからデータを読み込むことを擬似的に行わせる方法として、内部ファイルと言う概念を使います。Plain_Basicでは、プログラムファイルの中にデータファイルを混ぜて構成します。プログラム文は、各行に整数のラベルを付けます。キーワードのDATAを付けた文は実行文ではなく、データファイルを構成する非実行文です。プログラムの実行時には、DATA文は読み飛ばされます。READ文が入力文であって、今度はDATA文だけを拾い読みして変数に代入します。この処理は、外部ファイルを扱う方法と同質です。

 Plain_Basicのプログラム文を作成するとき、実行文だけを集めたプログラムファイルと、DATA文だけを集めて別のプログラムファイルとを別々にSAVEしておきます。プログラムファイルをLOADし、DATA文のファイルMERGEします。幾つかのデータファイルを差し換えて実行させることができます。この場合、プログラム文の整数ラベルが重複しないようにする注意が必要です。

 Plain_Basicでは、処理結果を二つの子ウインドウ:テキストウインドウとグラフィックスウインドウに出力させますので、このウインドウのデータから外部ファイルに書き出します。この制御は、Plain_Basicのプログラム文ではなく、Windowsの画面のプルダウンメニューで行います。

READ variable-list

 キーワードDATAが付いたプログラム文だけを選択的に選んで、このデータリストをリストの変数に代入します。この読み出し手順は、ラベルとDATAのキーワードを除けば、外部ファイルからデータを読み込む方法と同じです。
例:READ A,B,C,D        (対応するDATA文は、「DATA 3,4,2.5,6」のように準備します。)

DATA data-list

 READ文で読み込む数値・文字定数のリストを準備しておきます。個々のデータ間の区切り文字(delimiter)は、コンマが標準ですが、スペースで空けても構いません。READ文のリストに、引き数なしの配列名があるときは、その全要素数のデータリストが必要です。同じ数が何個も必要であるときには、個数nをデータの頭に付ける表記の約束を決めてあります。また、一定数値での昇順または降順のデータは、FOR-NEXT文と同様な指定方法を使うことができます。なお、配列名にデータを読み込ませたいとき、配列並びの途中の要素はそのまま残したいことがありますので、その場所を読み飛ばすための記号にスラッシュ '/' を使います。
 DATA文のデータ個数が多くて、一回のREAD文ですべてが読み込まれないときは、次のREAD文が残りのデータを読み込みます。DATA個数が不足すれば、次のDATA文に読取り位置が移ってデータ読取りを続行します。DATA文行末に単独のスラッシュを使うと、READ文で変数個数が残っていても、そこでデータ読取りを打ち切ります。

例:DATA 1.5, 12, "ABC"   (コンマ区切りのリスト)
例:DATA 1 2 5 8 9.0    (スペースで区切ったリスト)
例:DATA 10 TO 100 STEP 10 (FOR-NEXT文と同じ仕様でデータを供給する。個数に注意)
例:DATA 8*0.35       (同じ数値0.35を8個準備する)
例:DATA 10*/,5/      (元のREAD文の変数個数で10個分は読み飛ばす)

RESTORE line-number

 READ文で、データを読み出したいDATA文の位置を明示的に指定するときに使います。
例:RESTORE 1000

PRINT variable-list

 variable-list の値をコンソールに書き出します。テキストウインドウのデータは、メニューの指示で外部ファイルに書き出すことができますので、外部ファイルに直接書き出すことに関連したコマンド(OPEN,CLOSE,PRINT#など)は使いません。数値の出力のときは、デフォルトの書式制御を使います。なお、valiable-listの区切り文字によって、簡単な書式制御のプリントが得られます。
   ,(comma) で区切るとリストの間隔はタブで飛ぶ
   ;(semicolon) で区切るとすぐ後ろに続いて表示する
例:PRINT "A=";A,X+6
次のページ