Ruby uses special names for things that we already know. For instance, it uses the word Float to mean “decimals”. Here are more definitions:

You’ve already seen three classes for things that you already know (note that Ruby class names are capitalized):

Old name Ruby class
integer Integer
decimals Float
text String

You have also seen several methods:

Ruby class Some methods
Integer + – / * % **
Float + – / * % **
String capitalize, reverse, length, upcase

Classes vs. objects

Make sure you understand the difference between classes and objects. An object is a unit of data. A class is what kind of data it is.

For example, 3 and 5 are different numbers. They are not the same object. But they are both integers, so they belong to the same class. Here are more examples:

Object Class
2 Integer
-5 Integer
7.2 Float
3.14 Float
‘hello’ String
‘world’ String

Class#method notation

Remember, different classes have different methods. Here are some differences that you have already seen.

For this reason, we will use the notation Class#method to state exactly which method we mean. For instance, I will say Integer#+ to differentiate it from Float#+ and String#+. I can also say that String#upcase exists, but Integer#upcase does not exist.

Converting between classes

Ruby has some methods for converting between classes:

Method Converts
From To
String#to_i String Integer
String#to_f String Float
Float#to_i Float Integer
Float#to_s Float String
Integer#to_f Integer Float
Integer#to_s Integer String

Examples:

shell> irb --simple-prompt
>> 34.to_s
=> "34"
>> "12".to_i
=> 12
>> "hello".to_i
=> 0
>> 27.2.to_i
=> 27
>> 3.to_f
=> 3.0

Exercises

Finding Accurate Averages A quick exercise to practice using floats.