public string ReplaceFinalOperator(Symbol newOp) { if (string.IsNullOrEmpty(_equation)) { return newOp.ToString(); } return _equation.TrimEnd(Operators.ToArray()) + newOp.ToString(); }
private static void inspectRecursive(StringBuilder sb, Symbol symbol, int depth) { sb.AppendLine(string.Format("{0}{1}: {2}", "".PadRight(depth * 2), symbol.GetType().Name, symbol.ToString())); foreach (var childSymbol in symbol.ConstituentSymbols) { inspectRecursive(sb, childSymbol, depth + 1); } }
private void operator operatorButtonClicked(Symbol op) { if (ERROR_MESSAGE.Equals(_equationText)) { changeEquationText("0" + op.ToString()); return; } var eq = new Equation(_equationText); if (eq.HasFinalOperator()) { changeEquationText(eq.ReplaceFinalOperator(op)); } else { changeEquationText(_equationText + op.ToString()); } }