It uses the
$stdin global variable. It represents the current standard input.
gets, communicates with the input stream on your computer ( which is connected to your Operating System ) receiving data from the $stdin global variable and assigning it to your variable while returning the value stored with a new line char appended at the end.
irb(main):005:0> name = gets andressa => "andressa\n"
we can get rid of the new line char by calling the
irb(main):006:0> name = gets.chomp andressa => "andressa"
If dealing with files, it returns
nil when reaching the end of the file.
gets receives input in a string format, so if you are expecting to deal with integers, for example, you will need to convert it to an int first.
irb(main):009:0> number = gets.chomp 34 => "34" irb(main):010:0> number.class => String