当前位置: 首页>>代码示例>>C#>>正文


C# Executor.TypedPeek方法代码示例

本文整理汇总了C#中Executor.TypedPeek方法的典型用法代码示例。如果您正苦于以下问题:C# Executor.TypedPeek方法的具体用法?C# Executor.TypedPeek怎么用?C# Executor.TypedPeek使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Executor的用法示例。


在下文中一共展示了Executor.TypedPeek方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Eval

 public override void Eval(Executor exec)
 {
     QuotedFunction f = exec.TypedPeek<QuotedFunction>();
     bool bVerbose = Config.gbVerboseInference;
     bool bInfer = Config.gbTypeChecking;
     Config.gbVerboseInference = true;
     Config.gbTypeChecking = true;
     try
     {
         CatFxnType ft = CatTypeReconstructor.Infer(f.GetSubFxns());
         if (ft == null)
             Output.WriteLine("type could not be inferred");
     }
     finally
     {
         Config.gbVerboseInference = bVerbose;
         Config.gbTypeChecking = bInfer;
     }
 }
开发者ID:catb0t,项目名称:cat-language,代码行数:19,代码来源:CatMetaCommands.cs

示例2: Eval

 public override void Eval(Executor exec)
 {
     QuotedFunction f = exec.TypedPeek<QuotedFunction>();
     
     int n = f.GetSubFxns().Count;
     Function g = f.GetSubFxns()[n - 1];
     if (((g is PushFunction) || (g is QuotedFunction) || (g is QuotedValue)) || (g is PushValueBase))
     {
         f.GetSubFxns().RemoveAt(n - 1);
         g.Eval(exec);
     }
     else if (g is PushStack)
     {
         Executor e2 = (g as PushStack).GetStack();
         exec.Push(e2.Pop());
     }
     else
     {
         exec.Pop();
         Executor e2 = new Executor();
         f.Eval(e2);
         Object o = e2.Pop();
         Function h = new PushStack(e2);
         exec.Push(h);
         exec.Push(o);
     }
 }
开发者ID:catb0t,项目名称:cat-language,代码行数:27,代码来源:CatPrimitives.cs


注:本文中的Executor.TypedPeek方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。