public AppNode(BaseState m, Model.FuncTuple t, Func <Model.Element, string> nameElement) : base(m, t.Func.Name, t.Result) { tupl = t; var sb = new StringBuilder(); sb.Append(t.Func.Name); if (t.Args.Length > 0) { sb.Append("("); for (int i = 0; i < t.Args.Length; ++i) { var n = nameElement(t.Args[i]); if (n == null) { sb.AppendFormat("%{0}, ", i); } else { sb.AppendFormat("{0}, ", n); } } sb.Length -= 2; sb.Append(")"); } name = new EdgeName(m.m, sb.ToString(), t.Args); }
public AppNode(BaseState m, Model.FuncTuple t) : this(m, t, _ => null) { }
public AppNode(BaseState m, Model.FuncTuple t, Func<Model.Element, string> nameElement) : base(m, t.Func.Name, t.Result) { tupl = t; var sb = new StringBuilder(); sb.Append(t.Func.Name); if (t.Args.Length > 0) { sb.Append("("); for (int i = 0; i < t.Args.Length; ++i) { var n = nameElement(t.Args[i]); if (n == null) sb.AppendFormat("%{0}, ", i); else sb.AppendFormat("{0}, ", n); } sb.Length -= 2; sb.Append(")"); } name = new EdgeName(m.m, sb.ToString(), t.Args); }