Smalltalk 在闲聊中睡觉

Smalltalk 在闲聊中睡觉,smalltalk,squeak,Smalltalk,Squeak,我正在处理N*N皇后的问题和它的gui。 我希望每次移动都能睡上几秒钟,这样观众就能看到整个过程。 我怎样才能让smalltalk入睡 谢谢不用睡觉,你可以等着 5 seconds asDelay wait. e、 g.如果您选择并打印以下内容,则在打印结果(2)之前将等待5秒 Delay类的注释解释了它的功能 我是一个过程暂停一段时间的主要方式。最简单的用法如下: (延迟秒:5)等待 延迟实例通过暂停调用方的进程一段时间来响应消息“wait”。当使用消息forMilliseconds:或fo

我正在处理N*N皇后的问题和它的gui。 我希望每次移动都能睡上几秒钟,这样观众就能看到整个过程。 我怎样才能让smalltalk入睡


谢谢

不用睡觉,你可以等着

5 seconds asDelay wait.
e、 g.如果您选择并打印以下内容,则在打印结果(2)之前将等待5秒

Delay
类的注释解释了它的功能

我是一个过程暂停一段时间的主要方式。最简单的用法如下:

(延迟秒:5)等待

延迟实例通过暂停调用方的进程一段时间来响应消息“wait”。当使用消息forMilliseconds:或forSeconds:创建延迟时,指定暂停的持续时间。当前等待完成后,可以再次使用延迟。例如,时钟进程可能会重复等待一秒钟的延迟

重新启动快照时,将恢复图像快照保存过程中的延迟。延迟在毫秒时钟滚动期间工作

有关更复杂的示例,请参见#testDelayOf:For:rect:

更新:(基于评论)

wait
将暂停执行流,这意味着在前面的示例中,
1+1
将仅在等待期结束后执行(执行流恢复)

所以在你的课堂上你可以

MyBoard>>doStep
    self drawBoard.
    5 seconds asDelay wait.
    self solve.
    5 seconds asDelay wait.
    self destroyBoard.

等待到底是如何工作的?我实例化我的电路板并绘制它,然后我希望它等待x秒,开始求解,等待x秒,然后删除电路板。我不确定我确切地理解等待何时发生以及下一个/上一个命令何时发出happens@Infested我已经添加了延迟类的类注释。@感染和另一个更新。。。如果我正确理解你的评论。谢谢,是的,你回答了我的问题!不过我确实看到了一些奇怪的事情,我在成绩单上以排列的形式打印解决方案(在solve方法中),并将其与gui一起绘制。当我画等待求解时,它在开始求解的同时绘制。知道为什么吗?
MyBoard>>doStep
    self drawBoard.
    5 seconds asDelay wait.
    self solve.
    5 seconds asDelay wait.
    self destroyBoard.