[連結] 快速大量檔案是否存在的檢查

看板Ruby作者 (godfat 真常)時間17年前 (2007/08/26 14:46), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
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
關鍵點是在 Array中 - 代表 差集對吧?
08/28 01:33, 1F

08/28 10:53, , 2F
是的
08/28 10:53, 2F
文章代碼(AID): #16qI6xI7 (Ruby)
文章代碼(AID): #16qI6xI7 (Ruby)