コルーチンをsmalltalkで実装できますか?コルーチンはsmalltalkでどのように実装されていますか?
あなたの答えが「いいえ」ならば、どうしてですか?
もしそうなら、私に例を挙げることができますか?
コルーチンをsmalltalkで実装できますか?コルーチンはsmalltalkでどのように実装されていますか?
あなたの答えが「いいえ」ならば、どうしてですか?
もしそうなら、私に例を挙げることができますか?
ほとんどのSmalltalkはthisContextオブジェクトにスタック操作メソッドを持っています。このレベルでスタックを扱うのはちょっと面倒かもしれませんが、これらを使ってコルーチンを実装することができます。
GNU Smalltalkのとスクイークとファーロの最近のバージョンはまた、発電機を書くことが容易になり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]
ジェネレータの実装がPharo 1.3でも利用可能かどうか知っていますか? –
@Davorinいいえ、そこに[公開するには問題があります](http://code.google.com/p/pharo/issues/detail?id=3527)。 –
ジェネレータはPharo 1.4に入っています。答えにPharoを追加する。 –
キャブあなたは与えます詳細な説明は? –