[[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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS