News for hackers. Stuff that matters.

hokiewv

Re:Practicing Elixir or any programming language on Friday August 25, 2017 @09:33AM (#15098260)
I agree though one thing I would caution is it is good practice to always return the same type from a function even though it is an untyped language. The whole thing can be boiled down even more if pattern matching is used in parsing the initial string.

  def convert(<<h::bytes-size(2)>> <> ":" <>
              <<m::bytes-size(2)>> <> ":" <>
              <<s::bytes-size(2)>> <> <<period::bytes-size(2)>>) do
   "#{formatted_hour(h,period)}:#{m}:#{s}"
  end

  defp formatted_hour(hours,"PM"), do: "#{String.to_integer(hours) + 12}"
  defp formatted_hour("12","AM"), do: "00"
  defp formatted_hour(hours, "AM"), do: hours