From: Robert Klemme Date: 2008-12-19T07:42:09+09:00 Subject: Re: Show newest file in directory? On 18.12.2008 20:52, Mark Thomas wrote: > On Dec 18, 12:36 pm, Mmcolli00 Mom wrote: >> If you have a directory full of files, how can you get the newest file >> and oldest file from that directory? > > One way... > > ages = Dir["C:/New"].map{|f| [f,File.mtime(f)] }.sort_by{|i|i[1]} IMHO that should read ages = Dir.entries("C:/New").map{|f| [f,File.mtime(File.join("C:/New",f))] }.sort_by{|i|i[1]} But: > Or, if you want it in one fell swoop: > > newest, oldest = Dir["C:/New"].map{|f| [f,File.mtime(f)] }.sort_by{| > i|i[1]}.map{|i| i[0]}.values_at(0,-1) We can do better, i.e. #map is superfluous sorted = Dir.entries(dir).sort_by {|f| File.mtime(File.join(dir,f))} puts sorted.first, sorted.last Kind regards robert -- remember.guy do |as, often| as.you_can - without end