获取和读取线之间的区别是什么?

时间:2015-07-13 07:12:35

标签: ruby

据我所知,他们都可以从控制台读取。 我知道gets也可以从文件中读取,但我对控制台输入感兴趣。
例如:

a = readline.chomp
puts a
a = gets.chomp
puts a

这给了我相同的输出。那么控制台输入的区别是什么?

1 个答案:

答案 0 :(得分:4)

ruby-doc.org关于Kernel#readline

  

等同于Kernel::getsreadline除了在文件末尾引发EOFError

gets在输入结束时返回nil

您可以轻松看到差异:

echo -n "" | ruby -e "gets"        # no error
echo -n "" | ruby -e "readline"    # -e:1:in `readline': end of file reached (EOFError)