elixir-in-action/chapter4/fraction.ex
2020-06-20 13:57:33 -05:00

16 lines
276 B
Elixir

defmodule Fraction do
defstruct a: nil, b: nil
def new(a, b), do: %Fraction{a: a, b: b}
def value(%Fraction{a: a, b: b}) do
a / b
end
def add(%Fraction{a: a1, b: b1}, %Fraction{a: a2, b: b2}) do
new(
a1 * b2 + a2 * b1,
b1 * b2
)
end
end