Проблема в том, что последняя выпущенная версия 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::Iterator
в превосходной презентации Аман Гупты EventMachine: масштабируемый неблокирующий ввод / вывод в ruby , страницы 46-50.