2

gprolog を使用してコードをデバッグするのに非常に苦労しています。コンパイル後に変数の値をコンソールに出力する方法を知っている人はいますか? コード内で print 、 write 、および trace を使用してみましたが、結果は出ず、エラーも発生しませんでした。助けてください!

4

1 に答える 1

1

セッションの例: コンソールで gprolog を開始

GNU Prolog 1.3.0
By Daniel Diaz
Copyright (C) 1999-2007 Daniel Diaz
| ?- [user].
compiling user for byte code...
test_pos(P) :- P > 0 -> true ; format('~w is invalid', [P]).

user compiled, 2 lines read - 762 bytes written, 180411 ms

(8 ms) yes
| ?- trace,test_pos(-3).
The debugger will first creep -- showing everything (trace)
      1    1  Call: test_pos(-3) ? 
      2    2  Call: -3>0 ? 
      2    2  Fail: -3>0 ? 
      2    2  Call: format('~w is invalid',[-3]) ? 
-3 is invalid
      2    2  Exit: format('~w is invalid',[-3]) ? 
      1    1  Exit: test_pos(-3) ? 

yes
{trace}
| ?- 

メッセージの前に、user compiled,...コンパイルを強制するために Ctrl-D を入力しました

HTH

于 2013-03-16T19:35:21.230 に答える