SyntaxAnalyse/TokenRecord/Symbol/Arithmetic/TokenMinus.cs
(完整代码) 1KB//xxxxxxxxxxx
using System;
using System.Collections.Generic;
using System.Text;
namespace ConExpress.Calculator
{
public class TokenMinus : TokenArithmeticSymbol
{
public TokenMinus(int Index, int Length)
: base(Index, Length)
{
}
protected override void SetPriority()
{
this.m_Priority = 2;
}
/// <summary>
/// 检查下级数量
/// </summary>
/// <returns></returns>
protected new void CheckChildCount(string ErrorInformation)
{
if (!(this.ChildList.Count == 1 || this.ChildList.Count == 2))
{
//throw new ArgumentException(string.Format("语法错误,列{0},{1}。", this.Index.ToString(), ErrorInformation));
throw new SyntaxException(this.Index, this.Length, ErrorInformation);
}
}
public override void Execute()
{
this.CheckChildCount("减法的运算元素数量不合法");
TokenRecord TokenFirst;
TokenRecord TokenSecond;
if (this.ChildList.Count == 1)
{
TokenFirst = TokenNumberFactory.ProduceToken("0", this.Index);
TokenSecond = this.ChildList[0];
}
else
{
TokenFirst = this.ChildList[0];
TokenSecond = this.ChildList[1];
}
TokenFirst.Execute();
TokenSecond.Execute();
this.TokenValue = TokenFirst.ChangeTokenToDouble("减法的运算元素不是数值") - TokenSecond.ChangeTokenToDouble("减法的运算元素不是数值");
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。