exercism/elixir/rpn-calculator/lib/rpn_calculator.ex
2022-08-24 14:28:45 +02:00

22 lines
399 B
Elixir

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