gpt4 book ai didi

smalltalk - Smalltalk中协程是如何实现的?

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

我可以在smalltalk中实现协程吗?

如果您的答案是否定的:为什么不呢?

或者如果是的话:你能给我举个例子吗?

最佳答案

大多数 Smalltalk 在 thisContext 对象上都有堆栈操作方法。您可以使用它们来实现协程,尽管在此级别处理堆栈可能有点乏味。

GNU Smalltalk 以及最新版本的 Squeak 和 Pharo 还提供了一个 Generator 类,可以轻松编写生成器(即生成多个值的协程类型):

"This generator yield an infinite sequence of 1"
generator := Generator on: [ :gen | [ gen yield: 1 ] repeat ].

(1 to: 100) do: [:i | Transcript show: (generator next printString); cr]

关于smalltalk - Smalltalk中协程是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6529815/

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