0

我目前正在和朋友一起做练习 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

为什么会这样?

4

1 回答 1

2

在第 8 行的 puts 之后有一个=。删除它应该可以解决问题。

于 2015-09-30T20:39:23.470 回答