Sha256: 2a74f5e6e5dc54e5d103bbe3814dbdf665c65c60c6fd2f1c623c85714cacd749
Contents?: true
Size: 466 Bytes
Versions: 327
Compression:
Stored size: 466 Bytes
Contents
defmodule Binary do def to_decimal(string) do if !String.match?(string, ~r{[^10]}) do string |> bits |> Enum.reverse |> Enum.with_index |> sum else 0 end end defp bits(string), do: Enum.map(Regex.scan(~r{[10]}, string), &(&1 == ["1"])) defp sum(bits), do: Enum.reduce(bits, 0, fn(bit, acc) -> acc + power_of_two(bit) end) defp power_of_two({false, _}), do: 0 defp power_of_two({true, exponent}), do: :math.pow(2, exponent) end
Version data entries
327 entries across 327 versions & 1 rubygems