为什么我得到这个错误'ruby:当我运行我的ruby程序来读取文件时,没有这样的文件或目录--Readfile.rb(LoadError)'
我的代码:
filename = ARGV.first
txt = open(filename)
puts "Heres your file#{filename}:"
print txt.read
print "TYpe the filename again"
file_again = $stdin.gets.chomp
txt_again = open(file_again)
print txt_again.read
答案 0 :(得分:0)
' ruby:没有这样的文件或目录 - Readingfile.rb(LoadError)'
没有堆栈跟踪,我只能推断此错误来自行txt = open(filename)
。最有可能的是文件名(第一个arg传递到$ ruby file.rb
)不存在或未指定(因此nil
)。
为了确保您的程序能够适应不同类型的输入,您应该检查并处理没有传递有效文件名的情况。这可以通过File#exist?
:
puts "Missing filename" and exit! unless filename = ARGV.first