kitchen-calculator
This commit is contained in:
23
elixir/kitchen-calculator/lib/kitchen_calculator.ex
Normal file
23
elixir/kitchen-calculator/lib/kitchen_calculator.ex
Normal file
@@ -0,0 +1,23 @@
|
||||
defmodule KitchenCalculator do
|
||||
defp milliliter(:milliliter), do: 1
|
||||
defp milliliter(:cup), do: 240
|
||||
defp milliliter(:fluid_ounce), do: 30
|
||||
defp milliliter(:teaspoon), do: 5
|
||||
defp milliliter(:tablespoon), do: 15
|
||||
|
||||
def get_volume(_volume_pair = {_, volume}), do: volume
|
||||
|
||||
def to_milliliter(_volume_pair = {from_unit, volume}),
|
||||
do:
|
||||
{:milliliter, milliliter(from_unit) * volume}
|
||||
|
||||
def from_milliliter(_volume_pair = {:milliliter, volume}, to_unit),
|
||||
do:
|
||||
{to_unit, volume / milliliter(to_unit)}
|
||||
|
||||
def convert(volume_pair, unit) do
|
||||
volume_pair
|
||||
|> to_milliliter
|
||||
|> from_milliliter(unit)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user