私はこのコードを持っています:
open('file.txt', append, Stream),
write(Stream, (clause(t1))),
close(Stream)
プログラムでそれを数回繰り返してから、ファイルを数回開いて閉じます。コンテンツを追加でリストに保存し、最後にこのリストをファイルに保存して、ファイルを一度だけ開くことはできますか?
私はこのコードを持っています:
open('file.txt', append, Stream),
write(Stream, (clause(t1))),
close(Stream)
プログラムでそれを数回繰り返してから、ファイルを数回開いて閉じます。コンテンツを追加でリストに保存し、最後にこのリストをファイルに保存して、ファイルを一度だけ開くことはできますか?
Stream のシンボリック エイリアスを使用してから、選択したエイリアスでファイルを開き、プログラムを実行して、エイリアスを Stream として渡して書き込みを発行し、完了したらファイルを閉じます。
ここにダミーの例があります:
save :-
open('myfile.txt', write, _, [alias(clauses)]),
forall(between(1,100,N),
format(clauses, 'clause(~d).~n', N)),
close(clauses).
次に、「myfile.txt」に含まれます
clause(1).
clause(2).
clause(3).
...
clause(99).
clause(100).
注意すべき点は、ストリームを参照するために使用されるエイリアスです...