How could I evaluate at mathematical string without using eval?
Example:
mathstring = \"3+3\"
Anyway that can be evaluated without
You must either or eval it, or parse it; and since you don't want to eval:
mathstring = '3+3'
i, op, j = mathstring.scan(/(\d+)([+\-*\/])(\d+)/)[0] #=> ["3", "+", "3"]
i.to_i.send op, j.to_i #=> 6
If you want to implement more complex stuff you could use RubyParser (as @LBg wrote here - you could look at other answers too)