當前位置: 首頁>>代碼示例>>C#>>正文


C# CodeBlock.Execute方法代碼示例

本文整理匯總了C#中CodeBlock.Execute方法的典型用法代碼示例。如果您正苦於以下問題:C# CodeBlock.Execute方法的具體用法?C# CodeBlock.Execute怎麽用?C# CodeBlock.Execute使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在CodeBlock的用法示例。


在下文中一共展示了CodeBlock.Execute方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: Else

 public Value Else(Value previous, CodeBlock block)
 {
     if (previous.Type == ValueType.IfFalse)
     {
         return block.Execute(Interpreter);
     }
     return previous;
 }
開發者ID:LukaHorvat,項目名稱:Hype,代碼行數:8,代碼來源:BasicFunctions.cs

示例2: For

 public Void For(CodeBlock init, CodeBlock condition, CodeBlock increment, CodeBlock block)
 {
     init.Execute(Interpreter);
     while (true)
     {
         var b = condition.Execute(Interpreter) as Boolean;
         if (b == null) throw new FunctionCallException("The conditional expression of the for loop didn't produce a Boolean value");
         if (!b.Bool) break;
         block.Execute(Interpreter);
         increment.Execute(Interpreter);
     }
     return Void.Instance;
 }
開發者ID:LukaHorvat,項目名稱:Hype,代碼行數:13,代碼來源:BasicFunctions.cs

示例3: Function

        public Function Function(List args, CodeBlock block)
        {
            var functionsScope = new ScopeTreeNode(Permanency.NonPermanent, Interpreter.CurrentScopeNode);
            Func<List<Value>, Value> code = delegate(List<Value> list)
            {
                var tempScope = new ScopeTreeNode(Permanency.NonPermanent, functionsScope.Parent);
                Interpreter.EnterScope(tempScope);
                for (int i = 0; i < list.Count; ++i)
                {
                    var name = args.InnerList[i].Var.OriginalName;
                    Interpreter.CurrentScopeNode.AddToScope(name, list[i]);
                }
                var ret = block.Execute(Interpreter);
                if (ret.Type <= ValueType.ReturnValue) ret = (ret as ReturnValue).InnerValue;
                Interpreter.ExitScope();

                return ret;
            };
            var fun = new CSharpFunction(code, Fixity.Prefix, args.InnerList.Count) { FunctionScope = functionsScope };
            fun.Signature.InputSignature.Clear();
            args.Select(v => v.Type).ToList().ForEach(t => fun.Signature.InputSignature.Add(t == ValueType.BlankIdentifier ? ValueType.Uncertain : t));

            return fun;
        }
開發者ID:LukaHorvat,項目名稱:Hype,代碼行數:24,代碼來源:BasicFunctions.cs

示例4: Exec

 public Value Exec(CodeBlock block)
 {
     return block.Execute(Interpreter);
 }
開發者ID:LukaHorvat,項目名稱:Hype,代碼行數:4,代碼來源:BasicFunctions.cs

示例5: If

 public Value If(Boolean condition, CodeBlock block)
 {
     if (condition.Bool)
     {
         return block.Execute(Interpreter);
     }
     return new TypedObject("IfFalse");
 }
開發者ID:LukaHorvat,項目名稱:Hype,代碼行數:8,代碼來源:BasicFunctions.cs


注:本文中的CodeBlock.Execute方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。