exercism-elixir/rpn-calculator/lib/rpn_calculator.ex
2022-03-04 10:04:23 -04:00

19 lines
411 B
Elixir

defmodule RPNCalculator do
def calculate!(stack, operation), do: operation.(stack)
def calculate(stack, operation) do
try do
{:ok, calculate!(stack, operation)}
rescue
_ in RuntimeError -> :error
end
end
def calculate_verbose(stack, operation) do
try do
{:ok, calculate!(stack, operation)}
rescue
e in ArgumentError -> {:error, e.message}
end
end
end