"1234567890" -> [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
ExUnit.start()
defmodule StringToIntegerList do
use ExUnit.Case, async: true
# https://hexdocs.pm/elixir/1.16.0/String.html#codepoints/1
def string_to_integer_list_using_codepoints(string) do
string
|> String.codepoints()
|> Enum.map(&String.to_integer/1)
end
test "string_to_integer_list_using_codepoints" do
assert string_to_integer_list_using_codepoints("12345678910") == [
1,
2,
3,
4,
5,
6,
7,
8,
9,
1,
0
]
end
end
ExUnit.start()
defmodule StringToIntegerList do
use ExUnit.Case, async: true
# https://hexdocs.pm/elixir/1.16.0/String.html#to_charlist/1
def string_to_integer_list_using_charlist(string) do
string
|> to_charlist()
|> Enum.map(&(&1 - ?0))
end
test "string_to_integer_list_using_charlist" do
assert string_to_integer_list_using_charlist("12345678910") == [
1,
2,
3,
4,
5,
6,
7,
8,
9,
1,
0
]
end
end