示例#1
0
        public override Value Evaluate(Interpreter i)
        {
            Value CastedA = new Value(A, i);
            Value CastedB = new Value(B, i);
            CastedA.CastSameType(CastedB, ValueType.Integer);
            Debug.Assert(CastedA.Type != ValueType.Boolean);

            switch (CastedA.Type)
            {
                case ValueType.Integer:
                    return new Value(CastedA.Integer % CastedB.Integer);

                case ValueType.Decimal:
                    return new Value(CastedA.Decimal % CastedB.Decimal);

            }
            return CastedA;
        }
示例#2
0
        public override Value Evaluate(Interpreter i)
        {
            Value CastedA = new Value(A, i);
            Value CastedB = new Value(B, i);
            CastedA.CastSameType(CastedB);

            switch (CastedA.Type)
            {
                case ValueType.Boolean:
                    return new Value(CastedA.Bool != CastedB.Bool);

                case ValueType.Integer:
                    return new Value(CastedA.Integer != CastedB.Integer);

                case ValueType.Decimal:
                    return new Value(CastedA.Decimal != CastedB.Decimal);

            }
            return CastedA;
        }