How to Get Input from the Ruby Console Using Gets and Chomp
Now that you know how to print values to the console, the next logical step is to know how to grab values. In this guide we'll walk through how to use the built in Gets and Chomp methods in Ruby.
Guide Tasks
  • Read Tutorial
  • Watch Guide Video
Video locked
This video is viewable to users with a Bottega Bootcamp license

Now that you know how to print values to the console, the next logical step is to know how to get input from users. In this guide we'll walk through how to use the built in gets and chomp methods in Ruby.

In a real world application you'll most likely use web forms or some tool like that to get input. However by using console tools you'll be able to mimic what a user types into a program.

Code Implementation

We're start by asking the question of What is your name? and print that out to the console.

puts "What is your name?"
name = gets

This code will print the first line to ask the question. In the second line, we are creating a variable called name to hold the value given by the user. The `gets' method prompts the user to enter a value. So, when you execute this code, this is what you should see.

large

If you may notice, we have a small problem with gets. It returns the value you enter along with the end of line character: \n, and this is not something you want to handle in your logic. For example, let's say you want to validate if the user is entering the right password. The code would look like this:

puts "Please enter your password:"
password = gets

if password == "asdfasdf"
  true
else
  false
end

Now, if you run this code and you enter the password as asdfasdf, it will return the value false because the value that reaches the application is asdfasdf\n and this is not the same as your password.

large

To fix this issue we can leverage the chomp method.

password = gets.chomp

As the name implies, the word chomp gets rid of the \n character by chomping it off.

large