elixir-in-action/chapter4/fraction.ex

17 lines
276 B
Elixir
Raw Normal View History

2020-06-20 13:57:33 -05:00
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