Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

Ruby | Kernel | test

概要

Kernel#test(cmd, file) -> bool | Time | Integer | nil
Kernel#test(cmd, file1, file2) -> bool

詳細

Kernel#test(cmd, file)は単体のファイルでファイルテストを行います。
Kernel#test(cmd, file1, file2)は二つのファイルでファイルテストを行います。
cmdの詳細については参照先にて確認

サンプルコード
# ファイルの最終更新時刻を返す
puts test(?M, __FILE__)

File.open('hoge.txt', 'w:utf-8') { |f|f.print 'hoge' }
# ファイルが同じものかどうか確認(別ファイルで検証)
puts test(?-, __FILE__, 'hoge.txt')

# ファイルが同じものかどうか確認(同一ファイルで検証)
puts test(?-, __FILE__, __FILE__)

出力

2014-06-02 22:08:25 +0900
false
true
1