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

30 lines
464 B
Elixir

defmodule Geometry do
def rectangle_area(a, b) do
a * b
end
def rectangle_area_condensed(a, b), do: a * b
end
defmodule Rectangle do
def area(a, b), do: a * b
def area(a), do: area(a, a)
end
defmodule GeometryMultiClause do
def area({:rectangle, a, b}) do
a * b
end
def area({:square, a}) do
a * a
end
def area({:circle, r}) do
r * r * 3.14159
end
def area(unknown) do
{:error, {:unkown_shape, unknown}}
end
end