Esempio n. 1
0
        internal string pullValue(Operator op)
        {
            //Pop 2 values and perform operation
            try
            {
                value1 = rpnStack.Pop();
                value2 = rpnStack.Pop();
            }
            catch (InvalidOperationException)
            {
                //If stack has less than 2 values, return error and clear
                clear();
                return "ERROR";
            }

            //Do operation
            value1 = op.perform(value1, value2);

            //Push back onto stack
            rpnStack.Push(value1);

            //display computed value, note: in this implementation it will already be pushed before displaying
            return value1.ToString();
        }