Rubyで扱いにくいファイルを処理する必要があります。特定のIDを指定すると、そのIDに関連付けられたデータが1つ以下のファイルに含まれることはわかっていますが、どちらのファイルかはわかりません。それはまた存在しないかもしれません、それは私が扱う必要があるエラー状態です。だから私はこのようなループを持っています:
files = ['a','b','c','d']
files.each do |filename|
File.open(filename,'r') do |f|
break unless contains_id(myid)
do_stuff
end
end
だから私は2つの質問があります:
探しているデータを含むファイルを見つけたら、ループから抜け出す正しい方法は何ですか?
データがどのファイルにもない状況にどのように対処できますか?
これは私が思いついたものですが、それはラフに感じます:
files = ['a','b','c','d']
found = false
files.each do |filename|
break if found
File.open(filename,'r') do |f|
break unless contains_id(myid)
found = true
do_stuff
end
end
do_error_stuff unless found