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


C# LNode.WithValue方法代码示例

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


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

示例1: TryReplaceHere

		static LNode TryReplaceHere(LNode node, Pair<LNode, LNode>[] patterns, MMap<Symbol, LNode> temp)
		{
			for (int i = 0; i < patterns.Length; i++)
			{
				temp.Clear();
				LNode r = TryReplaceHere(node, patterns[i].A, patterns[i].B, temp, patterns);
				if (r != null) return r;
			}

			// Support simple token replacement in TokenTrees
			TokenTree tt;
			if (node.IsLiteral && (tt = node.Value as TokenTree) != null) {
				bool modified = ReplaceInTokenTree(ref tt, _tokenTreeRepls);
				if (modified)
					return node.WithValue(tt);
			}
	
			return null;
		}
开发者ID:Shaykh,项目名称:Loyc,代码行数:19,代码来源:ReplaceMacro.cs

示例2: Replace

			public Maybe<LNode> Replace(LNode node) {
				TokenTree tt;
				if (node.IsId) {
					Symbol name = node.Name;
					for (int i = 0; i < Replacements.Count; i++)
						if (Replacements[i].A == name) {
							Replacements.InternalArray[i].C++;
							var repl = Replacements[i].B;
							return repl.WithAttrs(node.Attrs.WhereSelect(_replace).AddRange(repl.Attrs));
						}
					return node;
				} else if ((tt = node.Value as TokenTree) != null) {
					if (ReplaceInTokenTree(ref tt, Replacements))
						return node.WithValue(tt);
				} 
				return node.Select(_replace);
			}
开发者ID:jonathanvdc,项目名称:Loyc,代码行数:17,代码来源:UnrollMacro.cs


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