0

我正在制作一种语言,每次有人想要访问一个变量时,它都带有一个 $ 符号。但是,在每个函数上我都必须有一个 if,看看它的第一个字母是否是 $,并且每次传递一个参数时,对于每个参数我都必须这样做。它变得混乱。我不想嵌套 if,但是拥有它,以便我可以轻松地对其应用函数并访问它。这有点难以解释,但我会用一些代码来解释。

def varcmd(cmd, variables):
    if cmd.__len__() < 4:
        print "Too little arguments! str <var> = <string>"
    else:
        if cmd[2] == "=":
            if cmd[3][:1] == "$":
                variables[cmd[1]] = variables[cmd[3][1:]]
            else:
                variables[cmd[1]] = cmd[3]
        else:
            print "Incorrect syntax! str <var> = <string>"

当我不断添加这个函数时,if 将呈指数增长,实际上每个函数都可以接受变量,所以每个函数都会有大量的 if。基本上,我想要这样的东西:

def varcmd(cmd, variables):
    if cmd.__len__() < 4:
        print "Too little arguments! str <var> = <string>"
    else:
        if cmd[2] == "=":
            variables[cmd[1]] = auto_convert_if_var.cmd[3][1:]
        else:
            print "Incorrect syntax! str <var> = <string>"
4

1 回答 1

6

看起来您的需求已经变得足够复杂,需要构建一个解析器

于 2012-06-01T02:25:44.080 回答