1

この質問に対する答えが見つからなかったことに非常に驚いていますが、Time.nowと1.day.agoの間で変更されたすべてのファイルを選択する必要があります。明らかに、ruby FileまたはFileUtilクラスを処理するときに「ago」演算子を期待していませんが、誰かが私にそれを見せても驚かないでしょう。:)

もう1つの方法は、配列関数だと思います...おそらく、これまで使用したことのない'<=>'演算子が関係しています。

4

1 に答える 1

3

おそらくこのようなものですか?(未テスト):

selected_files = Dir.glob("*.pdf").select do |file|
  mtime = File.mtime(file)

  # if in a rails environment:
  # (1.day.ago .. Time.now).cover?(mtime)

  # if not in rails environment but want to use that code do this before that line:
  # require 'active_support/all'

  # else do the math:
  # mtime > (Time.now - 86400) and mtime < Time.now
end
于 2013-03-27T00:31:52.823 に答える