Ruby .gets 不起作用

ste*_*tla 2 ruby user-input sublimetext2

我试图在 Ruby 中获得简单的用户输入,但我无法让它工作。我正在使用该gets方法,但程序永远不会停止询问我的输入。我使用 Sublime Text 2 作为我的文本编辑器,我也在其中运行程序(如果这有区别的话)。

这是我的代码:

puts "What is your name?"
name = gets 
puts "Hello " + name + ". How are you?"
Run Code Online (Sandbox Code Playgroud)

这是给我的错误(和输出):

C:/Users/Sten Sootla/Desktop/Ruby workspace/exercise.rb:3:in `+': 无法将 nil 转换为 String (TypeError)
来自 C:/Users/Sten Sootla/Desktop/Ruby workspace/exercise.rb:3:in `'
你叫什么名字?
[0.1s 内完成,退出代码为 1]

为什么程序不停止询问我的输入?

hor*_*guy 6

尝试使用$stdin.gets而不是简单的gets,这将强制输入来自标准输入