calculadora_expressao

Gem Version

Uma calculadora de expressões aritméticas simples em Ruby. Você passa a expressão como texto e ela devolve o resultado, respeitando parênteses e a precedência dos operadores (divisão e multiplicação antes de subtração e soma).

Instalação

gem install calculadora_expressao

Ou adicione ao seu Gemfile:

gem "calculadora_expressao"

Uso

require "calculadora"
pegar("2+3*4")       # => "14.0"  (multiplica antes de somar)
pegar("10/4")        # => "2.5"
pegar("5-2+1")       # => "4.0"
pegar("2.5*2")       # => "5.0"

# Parênteses, inclusive aninhados:
pegar("2*(3+4)")     # => "14.0"
pegar("(10-4)/2")    # => "3.0"
pegar("2*(3+(4-1))") # => "12.0"

calc = Calculadora.new
calc.calcular("100/5-10")  # => "10.0"

O resultado é retornado como string, já que a expressão é resolvida passo a passo dentro do próprio texto. Para usar como número, converta com .to_f.

Operadores suportados

Operador Operação Precedência
( ) Parênteses resolvidos primeiro, de dentro para fora
/ Divisão 1ª (maior)
* Multiplicação
- Subtração
+ Soma

Números decimais (ex: 2.5) e negativos são aceitos.

Limitações

  • A expressão não deve conter espaços: use "2+3", não "2 + 3".
  • Multiplicação implícita não é suportada: escreva "2*(3+4)", não "2(3+4)".

Licença

MIT