В настоящее время я пытаюсь понять конечный конечный автомат на Python implementation.Конечный конечный автомат: Объясните, что делает следующая строка кода
while True:
(newState, cargo) = handler(cargo) #(this line)
if newState.upper() in self.endStates:
print("reached ", newState)
break
else:
handler = self.handlers[newState.upper()]
Я не могу понять, что (эта линия) делает. Я полагаю, что обработчика (груз) возвращает имя следующего состояния, соответствующее значению груза, но обработчик кажется, не связанным с обработчиков словаря.
Итак, можете ли вы рассказать мне, что делает эта строка, или где я могу найти дополнительную информацию, связанную с этим видом операции? Заранее спасибо.
'обработчик()' возвращает два элемента кортежа; '(newState, cargo) = обработчик (груз)' распаковывает этот кортеж на два имени ... – dawg
несколько строк выше: 'try: handler = self.handlers [self.startState]' это объясняет, что такое 'handler'? –
@ TadhgMcDonald-Jensen Да, знаю, что я понимаю. «обработчик» похож на ссылку на функцию в этом случае. Я прав? –