コード例 #1
0
        public override void Evaluate(IScriptContext context)
        {
            condition.Evaluate(context);
            object lastResult = RuntimeHost.NullValue;

            while ((bool)context.Result)
            {
                statement.Evaluate(context);
                lastResult = context.Result;

                if (context.IsBreak() || context.IsReturn())
                {
                    context.SetBreak(false);
                    break;
                }

                if (context.IsContinue())
                {
                    context.SetContinue(false);
                }

                condition.Evaluate(context);
            }

            context.Result = lastResult;
        }
コード例 #2
0
 public override void Evaluate(IScriptContext context)
 {
     condition.Evaluate(context);
     if ((bool)context.Result)
     {
         statement.Evaluate(context);
     }
     else
     if (elseStatement != null)
     {
         elseStatement.Evaluate(context);
     }
 }