Home > front end >  Difference between gets.chomp.to_i and gets.chomp in Ruby
Difference between gets.chomp.to_i and gets.chomp in Ruby

Time:01-19

What is the difference between gets.chomp.to_i and gets.chomp in Ruby? What does it do and how does it work?

CodePudding user response:

gets asks a user for some input and returns it exactly as it was entered. Notice that the returned value is a string and contains a newline at the end (since the user pressed the Enter key to submit their response):

> gets
> 1  # user input
=> "1\n"

Adding chomp removes the newline (technically, the record separator) from the input. Notice that "1" is now missing the newline at the end, but is still a string:

> gets.chomp
> 1  # user input
=> "1"

Adding to_i converts the input string into an integer. Notice that the return value is now an integer:

> gets.chomp.to_i
> 1  # user input
=> 1

Performing conversion with .to_i only make sense for integer inputs, as other string values will return 0:

> gets.chomp.to_i
> foo  # user input
=> 0

CodePudding user response:

gets is used in scripts to retrieve user input. .chomp is used to remove newlines and carriage returns. See here.

gets.chomp does return a string -> to_i converts the string to an integer.

  •  Tags:  
  • ruby
  • Related