Last active
December 17, 2015 14:03
-
-
Save adambouchard/745fb00cd3e3eee081b1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
##MY OLD THINKING APPROACH | |
defmodule MathHelpers do | |
def average(values) do | |
unless Enum.empty?(values), do: Enum.sum(values) / Enum.count(values) | |
end | |
end | |
##PATTERN MATCHING APPROACH | |
defmodule MathHelpers do | |
def average([]), do: nil | |
def average(values), do: Enum.sum(values) / Enum.count(values) | |
end | |
values = [5,5,5,6,6,6] | |
#values = [] | |
IO.puts MathHelpers.average(values) |
@alanpeabody... this doesn't work yet, but is this on the right path
defmodule MathHelpers do
def average(values), do: Enum.empty?(values)
def average(values), do: Enum.sum(values) / Enum.count(values)
end
Close!
def average([]), do: 0
def average(values), do: Enum.sum(values) / Enum.count(values)
nice. thanks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@adambouchard, could you use pattern matching to handle the empty case?