自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。
Ruby言語やLinuxのネタが多いです。
May 19, 2006 [おもひで]
■ [Ruby] File.ctimeとFile.mtimeの件
結局、なかださんのパッチを取り込まさせて頂きました。artonさん、なかださん、ご助言ありがとうございました。
■ [Ruby] File.ctimeとFile.mtimeの件(2)
環境によってctime < mtimeの時もあれば ctime > mtimeの時もある、ということなので、ファイルの更新時刻を取得する目的の場合に、この2つのままではちょっと使いづらいし誤解の元にもなると思った。
というのも、今回の件もそうだったけど、ファイルが生成されたのだろうが、ファイルの内容が更新されたのだろうが、新しいファイルに置き換えられたのだろうが、属性が変更されたのだろうが、それはひとえに更新された、っていうひとまとまりの考え方の方が割と普遍的で、使いやすいのではなかろうか。
ということで以下のようなメソッドを考えてみた。
class File
class Stat
def last_modified
[mtime, ctime].max
end
end
def self.last_modified(filename)
File.stat(filename).last_modified
end
end
p File.last_modified("foo.rb")
って、まぁ、今回は(Rubyのコアライブラリに手を入れるのは避けたいから)使わなかったけどね。
[ツッコミを入れる]
