Welcome to day 6 of the 49 Days of Ruby! 🎉
In the past few days we have covered variables, strings, introduced ourselves to IRB and a lot more! Today, we are going to learn a bit about another very important data type: Integer.
What is an Integer?
Any number that can be written without a fraction.
In other words, 5, 15, -300, 0, 829304923231231 are all integers. Whereas, 5.3, 0.2, -4.675 are not. What are those latter numbers then? Those fractional numbers are a different data type called a Float.
Integers, like Strings, can be stored inside variables to be referenced later:
drink_order = 1
Did you notice that we did not wrap the 1
in either single or double quotes? If we wrapped it inside quote marks then it would no longer be an Integer, it would become a String.
As an aside, what is the value of "1" + 1
?
In some languages, the language itself will fix your math above and either convert the 1 in quote marks into an Integer, or the 1 without quote marks into a String. In the former, the correction would yield 2
as the answer. In the latter, the correction would yield 11
as the answer.
What does Ruby do?
TypeError (no implicit conversion of Integer into String)
Ruby does not automatically fix it for you, but rather returns to you an error. Each error belongs to a group of errors (a Class
) that tells you a bit about what type of error it is. In this case, the error is a TypeError
because the types of data you are trying to add together do not match.
Back to our new drink_order
variable holding the Integer 1
. If you recall, yesterday we created a customer named Ben
with a favorite drink of Iced Americano
. We then printed that data out using string interpolation.
We can do the same thing here with our Integer!
"Hi, #{name}! Welcome back! Would you like to order another #{favorite_drink}? You previously ordered it #{drink_order} times.
This would output the following:
Hi, Ben! Welcome back! Would you like to order another Iced Americano? You previously ordered it 1 times.
We see that you can interpolate an Integer into a new String, just like other Strings.
Another important item to know about Integers is how they interact with Floats. Remember from above that a Float is a fractional number, like 5.2, for example.
What happens if we try to add 3 + 5.2
?
2.5.1 :002 > 3 + 5.2
=> 8.2
The return value is a new Float: 8.2
.
That's it for today! Tomorrow we will explore Booleans!
Come back tomorrow for the next installment of 49 Days of Ruby! You can join the conversation on Twitter with the hashtag #49daysofruby.
Top comments (0)