[[Ruby]]
階層が深かったり複雑だと大変よね。Find.findを使って探してみましょう。
たとえば、以下は最も新しいファイルを探してくるのよ。
require 'find'
=begin
指定ディレクトリで最も新しいタイムスタンプを探す。
=end
class HStamper
def initialize
self.ini
end
def ini
@newer = Time.local("1967/1/1")
@newfile = nil
end
def search(dir)
Find.find(dir) do |file|
if File.file?(file) == true
m = File.stat(file).mtime
if m > @newer
@newer = m.clone
@newfile = file.clone
end
end
end
p newer,newfile
@newer
end
def newer
@newer
end
def newfile
@newfile
end
end
使い方は、こう。
c = HStamper.new
c.search("dir名")
p c