Size: a a a

Эликсир и Вунш

2019 October 01

GK

Gleb Kolokolov in Эликсир и Вунш
то есть приходит евент в хендл
источник

AB

Alexey Bolshakov in Эликсир и Вунш
давай пример, пожалуйста
источник

GK

Gleb Kolokolov in Эликсир и Вунш
он матчится и вызывает нужный тразишен
источник

GK

Gleb Kolokolov in Эликсир и Вунш
транзишен вывзывает акшен
источник

GK

Gleb Kolokolov in Эликсир и Вунш
и потом меняет стейт
источник

GK

Gleb Kolokolov in Эликсир и Вунш
это типовое поведение фсм уж
источник

AB

Alexey Bolshakov in Эликсир и Вунш
из реального то мира все равно приходит одно понятие: событие и оно применяется к другому понятию - состоянию
источник

AB

Alexey Bolshakov in Эликсир и Вунш
не понимаю, зачем применять фсм, если все можно сделать обычным ГСом.
источник

AB

Alexey Bolshakov in Эликсир и Вунш
гс ведь тоже стейт машина
источник

AB

Alexey Bolshakov in Эликсир и Вунш
что у тебя там в реальности то происходит? одни и те же экшены по-разному работают при разном стейте?
источник

GK

Gleb Kolokolov in Эликсир и Вунш
states = [:stop, :drive]
transition [{:gas, [:stop, :drive]}, {:brake,[:drive, :stop]}]
events = [{:start, :gas},{:stop, :brake}]
actions = [{:gas_action, :start, fn -> do samething},{:brake_action, :stop, fn -> do samething}]
источник

GK

Gleb Kolokolov in Эликсир и Вунш
устал набирать
источник

GK

Gleb Kolokolov in Эликсир и Вунш
акшены привязаны же к транзишену
источник

GK

Gleb Kolokolov in Эликсир и Вунш
а транзишен это смена стейта. у него есть начанльный и конечный стейт. и конечно акшены разные
источник

GK

Gleb Kolokolov in Эликсир и Вунш
у обычного генсервера слишком мало состояний
источник

GK

Gleb Kolokolov in Эликсир и Вунш
это я описал фсм из 2 состояний. по факту надо описывать  гораздо сложнее иерархию состояний
источник

GK

Gleb Kolokolov in Эликсир и Вунш
их там не 2 не 3
источник

GK

Gleb Kolokolov in Эликсир и Вунш
а до 10
источник

GK

Gleb Kolokolov in Эликсир и Вунш
по сути это дерево графов с таблицей смежности своей
источник

AB

Alexey Bolshakov in Эликсир и Вунш
понял. ну в любом случае, я думаю, что это все можно сделать через матчинг
источник