K-Prolog Compiler Version 6.0

ファイル操作
主に旧版との互換性やいわゆるDEC-10/Prologの機能を実現する為に、
入出力ストリームのオープン/クローズ、ログやメッセージのオン/オフ、
ファイル名の変更や出力の制限の機能を提供しています。
これらの機能の多くはストリーム操作で
実現でき、また、必要ならばこれらを混在させて使用する事ができます。
入力ストリームの操作には、
see/1、
see/2、
seepipe/1、
seepp/1、
seeing/1、
seeing/2、
seen/0を用います。また、出力ストリームの操作には、
tell/1、
tell/1、
tella/1、
tell/2、
tellpipe/1、
telling/1、
telling/2、
told/0が
用いられます。
close/0を用いてすべてのストリームを閉じることができます。
ログ出力に関しては
log/1、
logging/1、
nolog/0を使用します。
ファイル名の変更および削除には
rename/2を使用します。
出力制限機能として、出力時の複合項のネストやリストの長さの制限を行なう
機能が用意されています。この指定には
maxnest/2を使用します。
また、入出力のエラーの際にK-Prologのエラーとするか、
単に失敗させるかを切替えるために、
fileerrors/0、
nofileerrors/0が用意されています。
この他、メッセージ出力の抑制/抑制解除には
silent/1を使用します。これらの機能については、
Prologフラッグも参照して下さい。
入力元 Source をすでに see によってオープンしていなければオープン
し、ファイルの先頭に位置決めします。すでにオープンしていた場合は、以前
に読み取った位置の直後に位置決めします。そして、ファイル入力をそのファ
イルと接続します。
存在しない入力元を指定すると、入出力エラーとなります。
この述語は、get や read などで文字や項を読み込むための入力元
を指定するために使います。特に Source として 'を指定したときには、
ファイル入力を変更しません。
see/2は、Pipe で指定されているコマンドの標準出力をファイル入力に接続します。
Source は、コマンドの最後の引数となります。Source または Pipe に [] を
指定すると、無指定を意味します。
エラー
| instantiation_error |
| type_error |
| domain_error |
| existence_error(source,Source) | Sourceにより指定される入力元が存在しない |
| permission_error(open,source,Source) | Sourceにより指定される入力元がオープンできない |
see([],Pipe) と等価で、引数なしでパイプを接続します。
エラー
| instantiation_error |
| type_error |
| domain_error |
プリプロセッサ ppp の出力をファイル入力に接続します。
Source は ppp への入力を指定する引数となります。
エラー
| instantiation_error |
| type_error |
| domain_error |
Source を、ファイル入力に接続されている入力元を表すアトム、すな
わち see(Source) で指定したアトムと単一化します。
seeing/2は、ファイル出力に接続されているコマンドと引数を、
それぞれ Pipe と Source に単一化します。
これらの述語は、現在のファイル入力を知るために用います。
エラー
ファィル入力に接続されているファイルをクローズします。ファイル入力は、
標準入力と接続します。
この述語は、特定の入力元からの入力を終ることを意味します。
tell/1は、出力先 Sink を、すでに tell によってオープンしていなければオー
プンし、出力先の先頭に位置決めします。すでにオープンしている場合には、
出力先の終りに位置決めします。
存在しない出力先を指定したときは、新しくファイルが作られます。
そして、ファイル出力をその出力先と接続します。
tella/1は、出力先を追加モードで使用するために出力先をオープンするときに、
出力先の終りに位置決めすることを除いて tell と同じです。
tell/2は、Pipe で指定されるコマンドの標準入力をファイル出力に接続します。
Sink はコマンドの最後の引数となります。Sink または Pipe に [] を
指定すると無指定を意味します。
この述語は、put や write などで文字や項を書き出すためのファイルを
指定するために使います。
エラー
| instantiation_error |
| type_error |
| domain_error |
| existence_error(sink,Sink) | Sinkにより指定される出力先が存在しない |
| permission_error(open,sink,Sink) | Sinkにより指定される出力先がオープンできない |
tell([],Pipe) と等価です。
Sink を、ファイル出力に接続されている出力先名を表すアトム、すなわち
tell(Sink) や tella(Sink) で指定したアトムと単一化します。
この述語は、現在のファイル出力を知るために用います。
ファイル出力に接続されている出力先をクローズします。ファイル出力は、
標準出力と接続します。
この述語は、特定の出力先への出力を終ることを意味します。
オープンしているすべての出力先およびパイプをクローズします。
| rename(@OldName,@NewName) |
| OldName | ファイル名 |
| NewName | 新しい名前 |
ファイル OldName がオープンしていればクローズし、名前を NewName に変えます。
Newnameが「[]」または「""」ならばOldNameを削除します。
この述語は、ファイルの名前を変えたり、ファイルを削除したりするために使います。
エラー
| instantiation_error |
| type_error |
ログ出力を Sink としてログを開始することを指示します。ログ出力は、
常に追加モードでオープンします。
この述語は、インタプリタと端末のやりとりをファイルに記録しておくことを指示するた
めに使います。
エラー
| instantiation_error |
| type_error |
| permission_error(open,sink,Sink) | Sinkにより指定される出力先がオープンできない |
Sink を、ログ出力に接続されているファイル名を表すアトム、
すなわち log(Sink) で指定したアトムと単一化します。
ログ出力の出力先をクローズし、ログ出力を停止します。
write、writeq や display で項を書くときに、複合項のネストまたはリストの長さが
Maxを越えるときは、その部分を Replace で置き換えて出力するよう指示します。
この述語は、複雑な項を全部表示したくないときや、
無限ループを含む項を表示するときに必ず停止するように指定するために
使います。既定値は、maxnest(100,'...') となっています。
エラー
| instantiation_error |
| type_error |
fileerrors/0は、
set_prolog_flag(fileerrors,error)と等価です。
nofileerrors/0は、
set_prolog_flag(fileerrors,fail)と等価です。
silent(yes)は、
set_prolog_flag(verbose,off)と等価です。
一つ上に戻る
組込み述語に戻る
目次に戻る