我正在尝试制作一个控制台程序,要求用户输入他们的姓名并打招呼。我在Notepad ++中进行编码,并在git bash控制台中运行它。我的代码是:
puts "Hello, please type in your name: "
name = gets.chomp
puts "Hello #{name}, it is a pleasure to meet you!"
运行时,它等待用户输入,一旦输入,它就会打印:
Hello, please type in your name:
Hello <name_the_user_entered>, it is a pleasure to meet you!
即使用户提示位于代码的第一位,它也会在打印任何测试之前接受用户输入。我想念什么吗?
答案 0 :(得分:0)
Ruby可能正在缓冲输出。要强制使用,请使用flush
:
$stdout.puts "Hello, please type in your name: "
$stdout.flush
name = gets.chomp
puts "Hello #{name}, it is a pleasure to meet you!"
但是我认为在较新的Ruby版本中,这不是必需的。