def extract_arg(self, name):
"""
returns an argument as a variable, given its name
name: str
variable name
"""
if name is None:
return None
var = None
if isinstance(name, (Integer, Float)):
var = Integer(name)
elif isinstance(name, str):
if name in namespace:
var = namespace[name]
else:
raise Exception("could not find {} in namespace ".format(name))
elif isinstance(name, ArithmeticExpression):
var = do_arg(name)
else:
raise Exception("Unexpected type {0} for {1}".format(type(name), name))
return var
评论列表
文章目录