public override object Execute(NameEnv env) { object ret = Stmt.NextStmt; IEnumerator i = Ops.GetEnumerator(list.Evaluate(env)); while (i.MoveNext()) { lhs.Assign(i.Current, env); ret = body.Execute(env); if (ret != NextStmt) { return(ret); } } return(ret); // if (else_ != null) { // else_.exec(env); // } }
public override void Assign(object val, NameEnv env) { expr.Assign(val, env); }