2

私はこのコードを持っています:

open('file.txt', append, Stream),          
write(Stream, (clause(t1))),  
close(Stream)

プログラムでそれを数回繰り返してから、ファイルを数回開いて閉じます。コンテンツを追加でリストに保存し、最後にこのリストをファイルに保存して、ファイルを一度だけ開くことはできますか?

4

1 に答える 1

2

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).

注意すべき点は、ストリームを参照するために使用されるエイリアスです...

于 2013-07-23T08:08:40.537 に答える