Beispiel #1
0
        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);
 }