加算演算子 改良

加算演算子はNode型の子を持つように変更しました。そして、自身の評価の前に子を評価しています。これで無事に複数個の足し算が可能になります(キャストがダサいですが、一旦ほっておきましょう)

加算演算子はNode型の子を持つように変更しました。そして、自身の評価の前に子を評価しています。これで無事に複数個の足し算が可能になります(キャストがダサいですが、一旦ほっておきましょう)

  • タグ:
  • タグはありません
/**
 * 加算演算子です。
 */
public class Add implements Node {

	private Node left;
	private Node right;

	public Add(Node left, Node right) {
		this.left = left;
		this.right = right;
	}

	@Override
	public Node evaluation() {
		left = left.evaluation();
		right = right.evaluation();

		double result = ((Numeric)left).getValue() + ((Numeric)right).getValue();
		return new Numeric(result);
	}

}