我觉得Ruby没有识别gets.chomp?

时间:2015-04-03 16:24:08

标签: ruby

我是编程新手,并通过Learn Ruby The Hard Way书开始使用Ruby。我正在练习13,我只是在同一个脚本中使用ARGV和gets.chomp。我的代码如下:

first, second, third = ARGV

puts "Your first variable is: #{first}"
puts "Your second variable is: #{second}"
puts "Your third is: #{third}"

print "Was that so difficult?"
answer = gets.chomp
print answer

显然这不是一个脚本的难度,但是当我运行它时,我不断收到这个错误:“ex13.rb:in'gets':没有这样的文件或目录@ rb_sysopen - '然后打印第一个argv用户在从ex13.rb启动脚本'(Errno :: ENOENT)时输入:8:在ex13.rb的'gets'中:8:in“

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:5)

is what gets does。引用:“(gets)返回(并分配给$ _)ARGV(或$ *)中文件列表中的下一行,如果命令行中没有文件,则返回标准输入。”< / p>

您可以使用$stdin.gets,或在使用ARGV.clear之前确保ARGV为空:gets