我正在编写一个软件来使用标准控制流从用户那里获取命令序列(即用户可以嵌套他想要的命令):
cmd1
cmd2
cmd3
loop.1:
cmd1
cmd2
cmd3
loop.2
cmd1
cmd2
endloop.2
cmd4
cmd5
endloop.1
你碰巧知道在嵌套结构中保持顺序的数据结构吗?基本上,什么数据结构用于存储任何语言的输入程序?你知道 Python 中的等价物吗?我正在尝试使用 OrderedDict() 但应该有一个更自定义的。
请您参考如下方法:
使用(间接)嵌套列表。我假设你有课
class Command(object):
def execute(self):
# whatever
为您提供基本命令。为循环创建一个子类:
class Loop(Command):
def __init__(self, condition, cmds):
self.body = cmds # list of Commands
self.condition = condition
def execute(self):
while self.condition.execute():
for x in self.body:
x.execute()
