public ScriptProcedure(Env env, ScriptProcedureMeta _meta) { meta = _meta; freeEnv = env; freeVariables = new object[meta.freeAdresses.Length][]; for (int i = 0; i < freeVariables.Length; ++i) { var address = meta.freeAdresses[i]; Env e = env; for (int j = 1; j < address.envIndex; ++j) { e = e.prevEnv; } freeVariables[i] = e.variables; } }
public ScriptProcedure(Env env, ScriptProcedureMeta _meta) { meta = _meta; freeEnv = env; freeVariables = new object[meta.freeAdresses.Length][]; for (int i = 0; i < freeVariables.Length; ++i) { var address = meta.freeAdresses[i]; Env e = env; for (int j = 1; j < address.envIndex; ++j) e = e.prevEnv; freeVariables[i] = e.variables; } }