Ruby的"gets"命令不会等待用户输入

4
这是一个非常愚蠢的问题,但对我来说并不起作用。
我试图让程序等待我的输入。我尝试将gets替换为stdin.gets$stdin.gets,当我尝试使用gets.chomp时,我会得到一个空值类异常。
puts "Get works here?"
option = gets
puts option

1
你是如何运行那段代码的? - the Tin Man
2个回答

2
要实现这个功能,您需要从命令提示符中调用您的.rb文件。比如说,假设您将代码保存在一个名为test.rb的文件中。 test.rb
puts "Get works here?"
option = gets
puts option

然后从命令提示符中运行:

C:\Users\arup> ruby test.rb

我直接使用Sublime Text编辑器构建,难道它还不能正常工作吗? - Rohan Dalvi
@RohanDalvi 不是这样的。我说的是,要按照我说的做。我理解你的意思了,因为我以前也遇到过同样的问题。:) 当你使用 #gets 时,你需要从命令提示符上运行相同的代码。 - Arup Rakshit
你对这个奇怪的条件有什么解释吗? - Rohan Dalvi

1

我的脚本在使用gets()时也不能等待输入,但是当我使用了XXX时,它开始等待输入。

$stdin.gets("\n")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接