defmodule SimpleBar do def print_to_so(item_to_return, number_done, total) do percent_done(number_done,total) |> progress_bar("") |> IO.write item_to_return end @spec percent_done(integer(),integer()) :: float def percent_done(number_done,total) do (number_done/total) * 100 end def progress_bar(0.0,str,percentage) do IO.puts(str) "#{percentage}% Done\n\r[#{str}]" end def progress_bar(remaining_per,str,percentage) do str = "#{str}=" progress_bar(remaining_per-1, str,percentage) end def progress_bar(remaining_per,str) do str = "#{str}=" percentage = remaining_per progress_bar(remaining_per-1, str,percentage) end end