2010-08-02 24 views
5

有沒有人有EM :: Iterator的任何工作示例?唯一的例子我能找到似乎是的副本(或點回):EM :: Iterator的工作示例

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

我沒有看到EM:迭代的任何實例在EventMachine的的RDOC,所以我不知道這是一箇舊類,已被刪除或沒有。一般來說,我下面的錯誤,當我嘗試使用EM:迭代:

NameError:未初始化不斷EventMachine的:迭代

謝謝!

回答

6

問題是最新發布的EventMachine版本是0.12.10,現在已經有10個月了。在該版本之後,EM::Iterator似乎已添加到代碼庫中;要使用它,您需要使用development version of 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 
... 

也有阿曼古普塔的出色表現EventMachine: scalable non-blocking i/o in ruby,第46-50頁有關EM::Iterator一些幻燈片。