我正在使用一个FSM和有一个关键问题
class SimpleFSM(object):
def __init__(self, char):
self.char = char
self.states = {}
self.transitions = {}
self.curState = None
self.trans = None
def SetState(self,stateName):
self.curState = self.states[stateName]
def Transition(self, transName):
self.trans = self.transitions[transName]
def Execute(self):
if(self.trans):
self.trans.Execute()
self.SetState(self.trans.toState)
self.trans = None
self.curState.Execute()
这是我对密钥的初始化:
light.FSM.states["On"] = LightOn()
light.FSM.states["Off"] = LightOff()
light.FSM.transitions["toOn"] = Transition("On")
light.FSM.transitions["toOff"] = Transition("Off")
我可以更改状态,如果我使用:
light.FSM.Transition("toOff")
但是为什么我用一个带“toOff”的字符串就不起作用呢
lightOn = "toOff"
light.FSM.Transition(lightOn)
sry我是一个新手,对Python没有太多经验
目前没有回答
相关问题 更多 >
编程相关推荐