[連結] 快速大量檔案是否存在的檢查
http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/
1d2c7c076cc20703/b7ec20fe5c8c2b0d
縮
http://rubyurl.com/qkE
一般人的直覺都是這樣寫吧?恐怕會不假思索 XD
Dir.chdir( source_directory ) do
my_array.each do |file_name|
if File.exist?( file_name )
...
else
...
end
end
end
不過 Xavier Noria 寫了個接近一行的方式:
(filenames - Dir.entries(dirname)).empty?
這個真的滿厲害的,empty? 為 true 的話,
所有檔案都存在,反之,留下來的就是不存在。
如果需要存在的呢?再用原本的 filenames 去減,就是了。
i.e.,
non_exists = filenames - Dir.entries(dirname)
exitst = filenames - non_exists
簡潔多了。
edited:
補一下其他作法好了:
Dir.chdir( source_directory ) do
exists = filenames.select{|f| File.exist? f}
non_exist = filenames - exist
end
--
『風車』が廻り続ける度に 『美しき』幻想が静かに紡がれ
『焔』の揺らめきの外に 『腕』を伸ばす愚かな者達 -《Roman》5th Story
『宝石』をより多く掴もうと 『朝と夜』の狭間を彷徨い続ける Track 10
『星屑』の砂の煌めきにも 『葡萄酒』の仄甘い陶酔を魅せ 黄昏の賢者
『賢者』が忌避する檻の中から 『伝言』の真意を彼等に問うだろう
『天使』が别れを告げし時 『地平線』は第五の物語を識る
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.28.18
※ 編輯: godfat 來自: 220.135.28.18 (08/26 14:52)
推
08/28 01:33, , 1F
08/28 01:33, 1F
→
08/28 10:53, , 2F
08/28 10:53, 2F
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章