개발자 99% 커뮤니티에서 수다 떨어요!
연습문제 19
FSM (finite State Machine) 를 설명하면서 우리는 일반적인 상태 기계 구현을 자체 클래스로 분리해 낼 수 있다고 언급했다. 아마 그 클래스는 상태 이행 표와 초기 상태를 넘겨서 초기화할 것이다.
본문의 문자열 추출기를 위 클래스를 사용하여 구현해 보라.
class FSM:
def __init__(transitions, initial_state):
self.transitions = transitions
self.state = initial_state
def accept(event):
self.state = self.transitions[self.state][event]
action = self.transitions[self.state][default]
rb의 default 필드를 파이썬에서 어떻게 처리해야할지 잘 모르겠다.