Конечный автомат в Ruby с использованием Fibers?

Я пытаюсь справиться с новым Fiber класс в Ruby 1.9, и я прочитал, что одно из наиболее распространенных приложений для Fibers (и сопрограммы) находится в конечных автоматах.

К сожалению мой Fiber-fu не так уж много, поэтому я надеялся, что кто-то из вас покажет мне простой пример состояния машины в Ruby, используя Fibers

Спасибо:)

1 ответ

http://github.com/rdp/ruby_tutorials_core/wiki/enumerator показывает, как обернуть один, который кормит другого, который кормит другого.

Чтобы использовать это как машину состояний, я полагаю, что она разбивает каждое "состояние" на свои собственные волокна, как

AAAB (на входе x) => AAAB (каждый [A,A,A,b] должен быть своим собственным волокном и просто передавать вход, пока он не достигнет последнего)

Другие вопросы по тегам