1
我必須處理Ruby中一些難處理的文件。給定一個特定的ID,我知道與ID相關的數據將在以上的文件中不多於一個,但我不確定哪一個。它也可能不存在,這是我需要處理的錯誤狀態。所以我有這樣一個循環:提前退出文件讀取循環
files = ['a','b','c','d']
files.each do |filename|
File.open(filename,'r') do |f|
break unless contains_id(myid)
do_stuff
end
end
所以我有兩個問題:
一旦我發現,包含數據我的文件什麼是打出來的循環的正確方法在找什麼?
我該如何處理數據不在任何文件中的情況?
這是我想出了但感覺粗糙:
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