Práctica: Evaluar una Expresión en Postfijo

Escriba un programa que lea una línea conteniendo una expresión en postfijo e imprima su valor.

Ejecución

La entrada se lee desde línea de comandos.
[~/rubytesting/postfix]$ ruby postfix.rb '2 3 + 4 *'
20

Terminales

Para simplificar, asumiremos que los terminales en la expresión están separados por blancos.

Por ejemplo, ante la entrada:

4 5  -2 + *

El programa deberá imprimir 12 (esto es, se interpreta como 4*(5+-2)).

Excepciones

Si la entrada es ilegal deberá producirse una excepción:
~/src/ruby/rubytesting$ ruby postfix.rb '4 3 + x2 *'
postfix.rb:12: Error. found x2. Expected number or operator (SyntaxError)
  from postfix.rb:3:in `each'
  from postfix.rb:3



Subsecciones
Casiano Rodriguez León 2015-06-18