在smalltalk中退出程序?
Exit program in smalltalk?
C++ 有 System.exit(0)
,VB 有 End
,C# 有 Application.Exit
你会如何退出 Smalltalk 中的程序?我正在使用 Pharo。注意:我不是要退出 Pharo 本身,而是要在此特定指令期间终止我的程序。
我找到了退出 Pharo 本身的方法,但这又不是我要找的:Smalltalk exit: 0.
感谢您的帮助!
你的问题其实分为两部分。所以退出Pharo本身就相当于System.exit(0)
。因为一个系统是运行一个C++进程,然后退出,同样适用于Pharo。
所以继续:您可以考虑从您当前的 pharo 图像启动另一个 pharo 图像,并在需要时自行终止该过程。
你真正想问的是如何退出 Pharo 中正在执行的部分代码。这是一个复杂的问题,因为您还必须回答您的代码和 Pharo 之间的边界在哪里。我认为这取决于您的实施。也许关闭 window 或从某处删除 class 的实例就足够了。
如果您想要一种更通用的方法,您可以使用 [ ] fork
在单独的 pharo 进程中开始执行,然后通过发送 suspend
或 terminate
来停止它(您可以用 Processor activeProcess
) 获取活动进程)。或者你可以做 thisContext terminate
.
C++ 有 System.exit(0)
,VB 有 End
,C# 有 Application.Exit
你会如何退出 Smalltalk 中的程序?我正在使用 Pharo。注意:我不是要退出 Pharo 本身,而是要在此特定指令期间终止我的程序。
我找到了退出 Pharo 本身的方法,但这又不是我要找的:Smalltalk exit: 0.
感谢您的帮助!
你的问题其实分为两部分。所以退出Pharo本身就相当于System.exit(0)
。因为一个系统是运行一个C++进程,然后退出,同样适用于Pharo。
所以继续:您可以考虑从您当前的 pharo 图像启动另一个 pharo 图像,并在需要时自行终止该过程。
你真正想问的是如何退出 Pharo 中正在执行的部分代码。这是一个复杂的问题,因为您还必须回答您的代码和 Pharo 之间的边界在哪里。我认为这取决于您的实施。也许关闭 window 或从某处删除 class 的实例就足够了。
如果您想要一种更通用的方法,您可以使用 [ ] fork
在单独的 pharo 进程中开始执行,然后通过发送 suspend
或 terminate
来停止它(您可以用 Processor activeProcess
) 获取活动进程)。或者你可以做 thisContext terminate
.