What's the difference between gets.chomp() vs. STDIN.gets.chomp()?

ruby

Solution

`gets` will use `Kernel#gets`, which first tries to read the contents of files passed in through `ARGV`. If there are no files in `ARGV`, it will use standard input instead (at which point it's the same as `STDIN.gets`.

Note: As echristopherson pointed out, `Kernel#gets` will actually fall back to `$stdin`, not `STDIN`. However, unless you assign `$stdin` to a different input stream, it will be identical to `STDIN` by default.

http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-gets

Problem

Are they the same, or are there subtle differences between the two commands?

Original source