sitelogo
ファイルの入/出力
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

IF/Prologを離れるとデータベース(さらにあなたの作業すべて!)を失ってしまうので、現在のデータベースをファイルにセーブします。

まず、消されたファイルがないことを確認します。すでに"output"という名前のファイルがあるかIF/Prolog に質問して下さい。存在する場合には、以下の例題中の"output"を他の名前に置き換えて下さい。それから述語"tell/1"を使って、IF/Prologにデータベースのリストアップのためにファイル"output"を開くように指示して下さい。その後、述語"told/0"を使ってIF/Prolog にファイル"output"を閉じるように指示して下さい。ファイル "output"を閉じて下さい。さもなければ、その後の出力内容がすべてこのファイルに書かれてしまいます。

?- tell(output), listing, told.

yes ?- _

ファイル"output"は、前章で作成されたデータベースに記述されたような内容を含んでいます。

重要事項:ファイルにセーブしてあるため、これからはファイルをコンサルトするだけで何時でも今のデータベースを検索することができます。

レファレンスマニュアルを参照すれば、tellだけでなく、seeという述語があることがわかります。 tellは出力を端末にではなく、ファイルに行うように切り換えます。seeも同様の働きをします。seeは、現時点の入力のためにファイルを開きます。従って、組み込み述語read, get, get0の呼び出しは、このファイルから読み出します。次のようにして、セーブしたファイル"output"の最初の文字を端末に表示してみましよう。

?- see(output),repeat,get0(N),put(N),N = 46. anything. N = 46

yes ?- _

ステ−トメント"N = 46"を用いてIF/Prolog に繰り返し読み込みを行わせました。この"46"は、ドット "."のASCIIコ−ドです。最初のドットまでを読み、それを読んだ時に成功となります。

以下のようにしてカレント入力ストリーム"output"を閉じましょう。

?- seen.

yes ?- _

入力は再びキーボードから読み出されます。


Up read on...
scroll to top managed with ubiCMS