回答
大多數Smalltalk中已經堆放了thisContext對象上的操作方法。你可以用這些來實現協程,儘管在這個層次上處理堆棧可能有點乏味。
GNU Smalltalk和佳樂和菲羅的最新版本還提供了一個生成器類,可以很容易地編寫發生器(即產生多個值類型的協程):
"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]
你知道嗎?發電機的實施也可用於Pharo 1.3? –
@Davorin不,但有[開放的問題,包括他們](http://code.google.com/p/pharo/issues/detail?id=3527)。 –
發電機已進入Pharo 1.4。將Pharo添加到答案中。 –
- 1. Smalltalk中的樹實現
- 2. 如何在Ruby中實現INSTREAM協議?
- 3. 如何在MPI協議中實現MPI_Comm?
- 4. 如何實現應用程序協議
- 5. 人們如何在Smalltalk中實現UTF-8?
- 6. 如何實現協議
- 7. 如何在PHP中實現遠程協助功能?
- 8. 如何在swift中使用協議實現併發線程?
- 9. 如何在Android應用程序中實現Wiegand協議
- 10. 如何在iOS應用程序中實現Bayeux協議
- 11. 如何在Haskell中實現協程隊列?
- 12. 在CPython中如何實現生成器和協程?
- 13. 如何在接口實現(協方差)
- 14. 協議在內部如何實現?
- 15. Pharo Smalltalk - 對象中的變量範圍如何實現?
- 16. 協議實現中的IBOutlet
- 17. 如何在協議實現的參數中強制實現__weak引用
- 18. 如何檢查協議是否實現?
- 19. 如何實現UIApplicationDelegate的協議方法?
- 20. 你如何實現UIAccessibility協議?
- 21. 如何使用WebRTC實現HTTP協議?
- 22. 如何實現自定義協議
- 23. NSArray如何實現NSCopying協議
- 24. 如何實現Three20框架的協議?
- 25. CLLocation如何實現Equatable協議?
- 26. 實現NSCoding協議
- 27. Pharo和Squeak Smalltalk:在包中列出未實現的方法?
- 28. 在Veins中實現DSR協議Omnet ++
- 29. 在node.js中實現的WADO協議
- 30. 在Java中實現3270協議
駕駛室你給更多解釋? –