Implementing a humanize counting algorithm
In this section, we are going to solve another complicated math problem using Ruby. The question we'll answer is: If all the numbers from 1 to 1,000 were written out in words, how many letters would be used?
Though this problem looks complex, it can be solved easily in Ruby using the humanize
library. We start by including the humanize
gem. If you don't have this gem on your system, install it by running gem install humanize
.
Now let's dive into the code:
require 'humanize' (1..1000).to_a.map(&:humanize)
In the first line, we included the humanize
gem. On the next line, we built a range from 1 to 1,000 and converted it into an array. Lastly, we called the humanize
method on this array by utilizing the map
method. This will convert each element in the array into its named value.
If you execute now, the output will be as follows:
["one", "two", "three", "four", "five", "six", "seven", "eight"... "nine hundred and ninety-six", "nine hundred and ninety...