Naming Numbers
Mix.install([
{:jason, "~> 1.4"},
{:kino, "~> 0.9", override: true},
{:youtube, github: "brooklinjazz/youtube"},
{:hidden_cell, github: "brooklinjazz/hidden_cell"}
])
Navigation
Home Report An Issue Control Flow Rock Paper ScissorsNaming Numbers
In the Elixir cell below, create a function naming_numbers which accepts a
single digit integer and returns its string representation. So 1 would become "one".
flowchart
0 --> zero
1 --> one
2 --> two
3 --> three
4 --> four
5 --> five
6 --> six
7 --> seven
8 --> eight
9 --> nine
naming_numbers.(1)
"one"
Solution Example
```elixir
naming_numbers = fn integer ->
case integer do
0 -> "zero"
1 -> "one"
2 -> "two"
3 -> "three"
4 -> "four"
5 -> "five"
6 -> "six"
7 -> "seven"
8 -> "eight"
9 -> "nine"
end
end
```
Enter your solution below.
Numbering Names
In the Elixir cell below, create a function numbering_names which accepts a
number’s name and returns its string representation. So "one" would become 1.
In addition to accepting lowercase name, also accept uppercase names so "One" would become 1.
flowchart
zero --> 0
one --> 1
two --> 2
three --> 3
four --> 4
five --> 5
six --> 6
seven --> 7
eight --> 8
nine --> 9
flowchart
Zero --> 0
One --> 1
Two --> 2
Three --> 3
Four --> 4
Five --> 5
Six --> 6
Seven --> 7
Eight --> 8
Nine --> 9
Solution Example
We can brute force the solutione using case.
```elixir
numbering_names = fn int_str ->
case int_str do
"zero" -> 0
"one" -> 1
"two" -> 2
"three" -> 3
"four" -> 4
"five" -> 5
"six" -> 6
"seven" -> 7
"eight" -> 8
"nine" -> 9
"Zero" -> 0
"One" -> 1
"Two" -> 2
"Three" -> 3
"Four" -> 4
"Five" -> 5
"Six" -> 6
"Seven" -> 7
"Eight" -> 8
"Nine" -> 9
end
end
```
Or use [String.downcase/2](https://hexdocs.pm/elixir/String.html#downcase/2) to make the solutione more concise.
This has the added benefit of handling mixed case such as `"ZeRO"`.
```elixir
numbering_names = fn int_str ->
case String.downcase(int_str) do
"zero" -> 0
"one" -> 1
"two" -> 2
"three" -> 3
"four" -> 4
"five" -> 5
"six" -> 6
"seven" -> 7
"eight" -> 8
"nine" -> 9
end
end
```
Commit Your Progress
DockYard Academy now recommends you use the latest Release rather than forking or cloning our repository.
Run git status to ensure there are no undesirable changes.
Then run the following in your command line from the curriculum folder to commit your progress.
$ git add .
$ git commit -m "finish Naming Numbers exercise"
$ git push
We’re proud to offer our open-source curriculum free of charge for anyone to learn from at their own pace.
We also offer a paid course where you can learn from an instructor alongside a cohort of your peers. We will accept applications for the June-August 2023 cohort soon.