Class: Hoodie::Machine
Instance Attribute Summary collapse
-
#state ⇒ Object
readonly
Returns the value of attribute state.
Instance Method Summary collapse
-
#initialize(transition_function, initial_state) ⇒ Machine
constructor
A new instance of Machine.
- #send_input(input) ⇒ Object
Constructor Details
#initialize(transition_function, initial_state) ⇒ Machine
Returns a new instance of Machine.
51 52 53 54 |
# File 'lib/hoodie/utils/machine.rb', line 51 def initialize(transition_function, initial_state) @transition_function = transition_function @state = initial_state end |
Instance Attribute Details
#state ⇒ Object (readonly)
Returns the value of attribute state.
56 57 58 |
# File 'lib/hoodie/utils/machine.rb', line 56 def state @state end |
Instance Method Details
#send_input(input) ⇒ Object
58 59 60 61 |
# File 'lib/hoodie/utils/machine.rb', line 58 def send_input(input) @state, output = @transition_function.call(@state, input) output end |