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
Last-modified: 2016-02-23 (火) 18:03:47