Data Types

Anonymous contributor's avatar
Anonymous contributor
Anonymous contributor's avatar
Anonymous contributor
Published Jul 27, 2021Updated Sep 9, 2021
Contribute to Docs

Data types represent different types of data such as numbers, booleans, strings, etc. As an object-oriented language, all data types are based on classes.


Ruby has different types of numbers such as integers and floating point numbers.

# Integer type
count = 1
# Float type
rating = 1.5
# Both float and integer types
miles = 127
hours = 2.5
miles_per_hour = miles / hours
puts "Miles per hour: #{miles_per_hour}"
# Output: Miles per hour: 50.8


A value of either true or false.

temp = 100
isHot = temp > 80
puts isHot
# Output: true
if isHot
puts "Better wear shorts today!"
puts "Better wear long pants today!"
# Output: Better wear shorts today!


A string is a sequence of characters that represents a word or a sentence. They are created by surrounding a sequence of characters with single or double quotes.

puts "Hello World!"
puts 'Hello World!'


Arrays store data in a list. An array can contain any type of data. Values are comma separated and enclosed in square brackets. Positions in the array start at 0.

mixed_array = [true, 2, "three", 4.0]
puts "The first element is: #{mixed_array[0]}"
# Output: The first element is: true


A collection of key-value pairs enclosed within curly braces. Values are assigned to keys using the => syntax.

person = {
first_name: "Kara",
last_name: "Brennan",
age: 29
puts "#{person[:first_name]} #{person[:last_name]} is #{person[:age]} years old."
# Output: Kara Brennan is 29 years old.


Symbols are a unique data type in Ruby. They are similar to strings except that they take up less memory and have better performance. Symbols are created by using the : syntax.

basketball_team = {:center => "Shaquille O'Neal", :forward => "LeBron James", :guard => "Steph Curry"}
puts basketball_team[:center]
# Output: Shaquille O'Neal
puts basketball_team[:forward]
# Output: LeBron James
puts basketball_team[:guard]
# Output: Steph Curry

All contributors

Looking to contribute?

Learn Ruby on Codecademy