2015-07-13 27 views
1

據我所知,他們都可以從控制檯讀取。 我知道gets也可以從文件中讀取,但我對控制檯輸入感興趣。
實施例:gets和readline有什麼區別?

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

這使我相同的輸出。那麼控制檯輸入有什麼區別?

回答

3

ruby-doc.orgKernel#readline

相當於Kernel::gets,除了readline提高EOFError在文件末尾。

gets在輸入結束時返回nil

你可以看到輕鬆的區別:

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