下面是一個次優的解決方案作爲默認的答案是不會立即清除的用戶開始:
prompt = 'Please enter a title: '
default_answer = 'Inception'
# Print the whole line and go back to line start
print "#{prompt}#{default_answer}\r"
# Print only the prompt so that the cursor stands behing the prompt again
print prompt
# Fetch the raw input
input = gets
# If user just hits enter only the linebreak is put in
if input == "\n"
answer = default_answer
else # Otherwise the typed string including a linebreak is put in
answer = input.chomp
end
puts answer.inspect
如果你想,我猜你必須使用更多的這樣的事情先進的終端功能。我想ncurses可以完成這項工作。
另一種選擇是將括號中的默認答案顯示出來,然後簡單地將提示放在後面。很多簡單的命令行工具都是這樣做的。這看起來像這樣:
Please enter a title [Inception]:
來源
2012-10-24 16:17:53
aef
你已經試過了什麼?你的代碼是什麼樣的? – dpassage
打印「標題?」 title = STDIN.gets.chomp – Kivylius