【发布时间】:2013-06-30 16:32:20
【问题描述】:
我正在尝试在 Ruby 中获取简单的用户输入,但无法正常工作。我正在使用gets 方法,但程序永远不会停止询问我的输入。我正在使用 Sublime Text 2 作为我的文本编辑器,并且我也在其中运行程序(如果这有所不同的话)。
这是我的代码:
puts "What is your name?"
name = gets
puts "Hello " + name + ". How are you?"
这是给我的错误(和输出):
C:/Users/Sten Sootla/Desktop/Ruby workspace/exercise.rb:3:in `+': can't convert nil into String (TypeError) 来自 C:/Users/Sten Sootla/Desktop/Ruby workspace/exercise.rb:3:in `' 你叫什么名字? [在 0.1 秒内完成,退出代码为 1]为什么程序没有停下来询问我的输入?
【问题讨论】:
-
在
IRB中尝试,而不是在编辑器中。代码很完美。 -
是的,它适用于 irb。但是为什么它在编辑器中不起作用?
-
我猜 sublime text ruby 解释器不允许输入..
-
因为
get可以在您运行它时提示并从编辑器中获取输入..
标签: ruby sublimetext2 user-input