如果我硬编码下面的变量max,我的程序运行没有问题。如果我传入一个参数,max 设置正确但会抛出和错误。这是为什么?
max = ARGV[0].to_i
# Ask user for first guess
puts "I am thinking of a number between 1 and " + max.to_s + "."
print "Make your guess: "
guess = gets.chomp.to_i
抛出错误:`gets':没有这样的文件或目录(Errno::ENOENT)
注意:错误是通过将gets更改为STDIN.gets来修复的,但是为什么在没有参数的情况下我的程序可以正常工作?
此外,有没有办法将gets的默认行为更改为整个文件的STDIN.gets ?也许在程序顶部有一行?