lib/automata/turing.rb
def transition(state, symbol)
      actions = @transitions[state][symbol]
      @tape.transition(symbol, actions['write'], actions['move'])

      # Flip the bits for halting states
      @accept = true if actions['to'] == 'ACCEPT'
      @reject = true if actions['to'] == 'REJECT'
      @head = actions['to']
    end
def transition(state, symbol)
      actions = @transitions[state][symbol]
      @tape.transition(symbol, actions['write'], actions['move'])

      # Flip the bits for halting states
      @accept = true if actions['to'] == 'ACCEPT'
      @reject = true if actions['to'] == 'REJECT'
      @head = actions['to']
    end
def transition ( state , symbol ) actions = @transitions [ state ] [ symbol ] @tape . transition ( symbol , actions [ 'write' ] , actions [ 'move' ] ) # Flip the bits for halting states @accept = true if actions [ 'to' ] == 'ACCEPT' @reject = true if actions [ 'to' ] == 'REJECT' @head = actions [ 'to' ] end
Determines the transition states, if any, from a given
 beginning state and input symbol pair.

 @note Turing machines have two unique states:
   * +ACCEPT+ Unique accept state
   * +REJECT+ Unique reject state
 @param [String] state state label for beginning state.
 @param [String] symbol input symbol.
 @return [Array] Array of destination transition states.
Determines the transition states if any from a given beginning state and input symbol pair .