def save_func(self, func, exp): """保存函数""" if func.startswith(Configuration.FuncPrefix): if exp.find(Configuration.UserDeclarator) != -1: raise Exception("invalid syntax") if exp.find("=") != -1: raise Exception("invalid syntax") func = Convertor.format_usrname(func) lmd = Supporter.args2list(func_lambda(exp, self))#包装自定义函数 self._handler.add_api(func, lmd)#加入到虚拟空间中 else: raise Exception("Function should starts with #")
def get_obj(self, name): """获取对象""" name = Convertor.format_usrname(name) return self._handler.Environment.get(name)
def del_objs(self, vars): """删除对象""" vars = ",".join(Convertor.format_usrname(v) for v in vars) self._handler.exec_code("del %s" % vars)
def save_vars(self, vars, vals): """保存变量""" for n, v in zip(vars, vals): n = Convertor.format_usrname(n) #实际成为了YCPY虚拟环境中全局变量 self._handler.add_api(n, v)