From: "たけ(tk)" Date: 2001-03-12T12:39:47+09:00 Subject: [ruby-list:28692] Dir#stats たけ(tk)です。 [ruby-list:28681] Re: field sort にて Koji Arai さん 曰く: 》 cache = {} 》 def cache.mtime(x) 》 self[x] ||= File.mtime(x) 》 end 》 Dir.glob("*").sort{|a,b| cache.mtime(b) <=> cache.mtime(a)} 》 cache_mtime = nil  ちょっとメモリを余分に使いますが、一般化して次のようなのはどうでしょう か?。 ## ## mask を受け取って、{name=>stat} のハッシュを返す ## def Dir::stats(mask) hash = {} Dir::glob(mask).each{|f| hash[f] = File::stat(f) } hash end puts Dir::stats(dir).sort{|a,b| b[1].mtime <=> a[1].mtime }.collect{|s|s[0]} * File::Stat#<=> は mtime#<=> と同値なので次でもよい。 # puts Dir::stats(dir).sort{|a,b| b[1] <=> a[1] }.collect{|s|s[0]} たけ(tk)=熊谷秀武