1
據我所知,他們都可以從控制檯讀取。 我知道gets
也可以從文件中讀取,但我對控制檯輸入感興趣。
實施例:gets和readline有什麼區別?
a = readline.chomp
puts a
a = gets.chomp
puts a
這使我相同的輸出。那麼控制檯輸入有什麼區別?
據我所知,他們都可以從控制檯讀取。 我知道gets
也可以從文件中讀取,但我對控制檯輸入感興趣。
實施例:gets和readline有什麼區別?
a = readline.chomp
puts a
a = gets.chomp
puts a
這使我相同的輸出。那麼控制檯輸入有什麼區別?
從ruby-doc.org約Kernel#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)