Ich versuche derzeit, die implementation des endlichen Automaten in Python zu verstehen.Finite State Machine: Erklären Sie, was die folgende Codezeile macht
while True:
(newState, cargo) = handler(cargo) #(this line)
if newState.upper() in self.endStates:
print("reached ", newState)
break
else:
handler = self.handlers[newState.upper()]
Ich kann nicht verstehen, was (diese Linie) tut. Ich nehme an, dass Handler (Ladung) den Namen des nächsten Zustand kehrt auf den Wert von Ladung entsprechenden, aber Handler Wörterbuch Handler nicht verwandt zu sein scheint.
Also, können Sie mir bitte sagen, was diese Linie tut, oder wo finde ich weitere Informationen zu dieser Art von Operation? Vielen Dank im Voraus.
'Handler()' gibt eine Zwei-Element-Tupel; '(newState, cargo) = handler (cargo)' entpackt das Tupel in zwei Namen ... – dawg
ein paar Zeilen weiter oben: 'try: handler = self.handlers [self.startState]' erklärt das was "handler" ist? –
@ TadhgMcDonald-Jensen Ja, ich verstehe. 'Handler' ist in diesem Fall wie eine Referenz auf eine Funktion. Habe ich recht? –