我是编程新手,并通过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“
任何帮助将不胜感激。
答案 0 :(得分:5)
那is what gets
does。引用:“(gets
)返回(并分配给$ _)ARGV(或$ *)中文件列表中的下一行,如果命令行中没有文件,则返回标准输入。”< / p>
您可以使用$stdin.gets
,或在使用ARGV.clear
之前确保ARGV为空:gets
。