Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
e = []
(ARGV[0]||"").split.each do |n|
  n.strip!
  e << case n 
  when "+", "-", "*", "/", "^"
    next unless e.length >= 2
    y = e.delete_at(-1)
    x = e.delete_at(-1)
    [x, n, y]
  when /^\d+(\.\d+)?$/
    n
  else
    next
  end
end
exit if e.empty?
puts e[0].inspect.gsub("[","(").gsub("]",")").gsub(/[","]/,'')[1..-2]