0

Windows用のSWI-Prologのlatets安定バージョン6.6.6 64ビットを使用しています。コードは次のとおりです。

start :-
    new(Frame, frame('Test')),
    send(Frame, open),
    send(Frame, append, new(Pic, picture)),
    send(Pic, height, 600),
    send(Pic, display, new(_Ref1, text('This will disappear in 3 seconds', center, font(screen, roman, 16)))),
    sleep(3),
    send(Pic, clear),
    sleep(3),
    send(Pic, display, new(_Ref2, text('Good bye!', center, font(screen, roman, 16)))),
    sleep(2),
    send(Pic, clear).

コードは退屈なスタッフを処理します。ウィンドウと、その上に高さ 600px の画像キャンバスを作成します。3 秒で消えるテキストが表示され、2 秒後に 2 秒で消える新しいテキストが表示されます。

デバッグせずに実行すると、最初のテキストが 8 秒で消えてしまいます。

グラフィカルなデバッグで実行すると、コードは本来の動作をします (コードの説明を参照)。

だから私の心配は、同じコードの2つの異なる結果があるのはなぜですか、なぜコードをデバッグしないと正常に機能しないのですか?

4

0 に答える 0