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


C# LNode.Slice方法代码示例

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


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

示例1: set_tuple_type

		public static LNode set_tuple_type(LNode node, IMacroContext context) {
			var tupleMakers = MaybeInitTupleMakers(context.ScopedProperties);

			int? size = node.Args[0, F._Missing].Value as int?;
			var rest = node.Slice(size != null ? 1 : 0);
			if (!MathEx.IsInRange(rest.Count, 1, 2)) 
				return Reject(context, node, "Incorrect number of arguments");
			var tupleCfg = Pair.Create(rest[0], rest.TryGet(1, null));
			if (tupleCfg.A.Value == null)
				tupleCfg.A = null; // Makes us ignore tuples of this size
			if (tupleCfg.B == null && tupleCfg.A != null)
				tupleCfg.B = F.Dot(tupleCfg.A, F.Id("Create"));

			if (size == null) {
				tupleMakers.Resize(1);
				context.ScopedProperties[DefaultTupleMaker] = tupleCfg;
			} else {
				while (tupleMakers.Count <= size.Value)
					tupleMakers.Add((Pair<LNode,LNode>)context.ScopedProperties[DefaultTupleMaker]);
				tupleMakers[size.Value] = tupleCfg;
			}
			return F.Call(S.Splice);
		}
开发者ID:BingjieGao,项目名称:Loyc,代码行数:23,代码来源:TupleMacros.cs


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