Замена вложенных if's?

я создаю язык, и каждый раз, когда человек хочет получить доступ к переменной, он со знаком $. Но для каждой функции я должен иметь 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>"

По мере того, как я продолжаю добавлять к этой функции, количество «если» будет экспоненциально возрастать, и практически каждая функция может принимать переменные, поэтому у каждой функции будет множество «если». По сути, я хочу что-то вроде этого:

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>"
0
задан Thor Correia 1 June 2012 в 02:21
поделиться