Конечный автомат в Ruby с использованием Fibers?
Я пытаюсь справиться с новым Fiber
класс в Ruby 1.9, и я прочитал, что одно из наиболее распространенных приложений для Fibers
(и сопрограммы) находится в конечных автоматах.
К сожалению мой Fiber
-fu не так уж много, поэтому я надеялся, что кто-то из вас покажет мне простой пример состояния машины в Ruby, используя Fiber
s
Спасибо:)
1 ответ
http://github.com/rdp/ruby_tutorials_core/wiki/enumerator показывает, как обернуть один, который кормит другого, который кормит другого.
Чтобы использовать это как машину состояний, я полагаю, что она разбивает каждое "состояние" на свои собственные волокна, как
AAAB (на входе x) => AAAB (каждый [A,A,A,b] должен быть своим собственным волокном и просто передавать вход, пока он не достигнет последнего)