gpt4 book ai didi

loops - Smalltalk - 每 2 秒打印一些内容

转载 作者:行者123 更新时间:2023-12-02 06:12:06 26 4
gpt4 key购买 nike

我正在使用 Pharo 在 Smalltalk 中进行编码。我的代码:

|i delay|
i := 0.
[i < 5] whileTrue: [
[
delay := Delay forSeconds: 2.
delay wait.
Transcript show: '2 seconds are up'.
Transcript cr.
] fork.
i := i + 1.
]

它一次打印所有“2 秒已到”,而不是每 2 秒打印一次:

2 seconds are up
2 seconds are up
2 seconds are up
2 seconds are up
2 seconds are up

请问谁能告诉我如何在 Smalltalk 中每 2 秒打印一些内容?

最佳答案

您一次 fork 了所有 5 个进程,以便所有 5 个延迟同时结束。要从后台每 2 秒打印一次,请在单独的进程中 fork 整个循环:

|i delay|
[
i := 0.
[i < 5] whileTrue: [
delay := Delay forSeconds: 2.
delay wait.
Transcript show: '2 seconds are up'.
Transcript cr.
i := i + 1]
] fork

关于loops - Smalltalk - 每 2 秒打印一些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13664115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com