我目前正在和朋友一起做练习 14,这是一些非常简单的字符串插值和用户输入抓取。我的代码如下所示:
user_name = ARGV.first
prompt = '> '
puts "Hi #{user_name}."
puts "I'd like to ask you a few questions."
puts "Do you like me #{user_name}? ", prompt
likes = $stdin.gets.chomp
puts = "Where do you live #{user_name}? ", prompt
lives = $stdin.gets.chomp
puts "What kind of computer do you have? ", prompt
computer = $stdin.gets.chomp
puts """
Alright, so you said #{likes} about liking me.
You live in #{lives}. Not sure where that is.
And you have a #{computer} computer. Nice.
"""
应该很简单,但我发现在该likes=
行之后,屏幕上不会显示下一行提示“你住在哪里”,但lives=
会提示输入。也就是在输入“likes”后立即跳转到“lines”提示,没有显示之前的提示输出!下一个提示computer=
按预期工作。
我正在使用 ruby 2.1.2,但是在 2.2.3 上出现了相同的行为,并且这里有一个在线 REPL
为什么会这样?