たけ(tk)です。

[ruby-list:28681] Re: field sort にて 
Koji Arai <JCA02266 / nifty.ne.jp> さん 曰く:
》  cache = {}def cache.mtime(x)self[x] ||= File.mtime(x)endDir.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)=熊谷秀武