gets
将使用Kernel#gets
,它首先try 读取通过ARGV
传入的文件的内容.如果ARGV
中没有文件,它将使用标准输入(此时与STDIN.gets
相同).
注:正如埃奇里斯托弗森指出的,Kernel#gets
实际上会回落到$stdin
,而不是STDIN
.但是,除非将$stdin
分配给不同的输入流,否则默认情况下它将与STDIN
相同.
http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-gets