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