有和没有调试的相同Prolog代码的两种不同行为

时间:2014-06-01 22:32:48

标签: debugging prolog swi-prolog xpce

我正在使用适用于Windows的WTI 64位64位SWI-Prolog。 代码如下:

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秒内消失,而这就是全部。

如果我使用图形调试运行,代码会执行它应该做的事情(参见代码说明)。

所以我担心的是:为什么同一代码有两种不同的结果,为什么没有调试代码就不能正常工作呢?

0 个答案:

没有答案