2014-10-21 2 views
0

Почему я получаю эту ошибку? Ruby: Нет такого файла или каталога - Readfile.rb (LoadError) ', когда я запускаю рубиновую программу для чтения файлов?Ruby: Нет такого файла или каталога

Мой код:

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

Добро пожаловать в SO, и в Ruby! Лео прав, backtrace будет полезен. –

ответ

0

'рубин: Нет такого файла или каталога - Readingfile.rb (LoadError)'

без трассировки стека, я могу только сделать вывод, что эта ошибка возникает из линия txt = open(filename). Скорее всего, имя файла (первый arg, переданный в $ ruby file.rb) либо не существует, либо не определено (и, следовательно, nil).

Чтобы убедиться, что ваша программа устойчива к различным входам, вы должны проверять и обрабатывать случаи, когда допустимое имя файла не передается. Это можно сделать с помощью File#exist?:

puts "Missing filename" and exit! unless filename = ARGV.first 
+0

Yeeeeh, это сработало .. Больше работы предстоит сделать. Спасибо – Alezandah

Смежные вопросы