Есть такой экспериментальный код:
2.6.3 :058 > current_path = File.dirname(__FILE__)
=> "."
# пустая директория
2.6.3 :059 > file_paths = Dir.glob("#{current_path}/data/*.txt")
=> []
2.6.3 :060 > file_paths.each do |file_path|
2.6.3 :061 > if File.exist?(file_path)
2.6.3 :062?> puts "файл существует"
2.6.3 :063?> else
2.6.3 :064?> puts "файл не найден"
2.6.3 :065?> end
2.6.3 :066?> end
=> []
# в директории находится файл 1.txt
2.6.3 :067 > file_paths = Dir.glob("#{current_path}/data/*.txt")
=> ["./data/1.txt"]
2.6.3 :068 > file_paths.each do |file_path|
2.6.3 :069 > if File.exist?(file_path)
2.6.3 :070?> puts "файл существует"
2.6.3 :071?> else
2.6.3 :072?> puts "файл не найден"
2.6.3 :073?> end
2.6.3 :074?> end
файл существует
=> ["./data/1.txt"]
Вопрос: почему на 61 строке, когда методу
exist? класса
File итератор
each передает
nil, то нет ошибки
TypeError (no implicit conversion of nil into String) ?