5

EM :: Iteratorの実用的な例はありますか?私が見つけることができる唯一の例は、次のコピーであるようです(またはポイントバックします)。

http://yardoc.org/docs/eventmachine-eventmachine/EventMachine/Iterator

EventMachineのRdocにEM::Iteratorのインスタンスが表示されないため、削除された古いクラスかどうかはわかりません。EM :: Iteratorを使用しようとすると、通常、次のエラーが発生します。

NameError:初期化されていない定数EventMachine :: Iterator

ありがとう!

4

1 に答える 1

6

問題は、リリースされた最新のEventMachineバージョンが0.12.10であり、現在は10か月前のものであるということです。EM::Iteratorそのリリース以降、コードベースに追加されたようです。これを利用するには、EventMachineの開発バージョンを使用する必要があります。

以下は私のために働いた:

$ git clone git://github.com/eventmachine/eventmachine.git
$ cd eventmachine
$ irb -Ilib -reventmachine
irb(main):001:0> EM.run do
irb(main):002:1*   EM::Iterator.new(0..10, 2).each do |num, iter|
irb(main):003:2*     puts num
irb(main):004:2>     EM.add_timer(1) { iter.next }
irb(main):005:2>   end
irb(main):006:1> end
...

EM::IteratorAman Guptaの優れたプレゼンテーションEventMachineに関連するスライドもいくつかあります:ルビーのスケーラブルなノンブロッキングI / O、 46〜50ページ。

于 2010-08-02T19:53:01.987 に答える