ファイルのグループを調べ、「@due」タグの後に日付範囲が続く行があるかどうかを確認し、それらの行を取得して別のファイルに出力するスクリプトに取り組んでいます。(基本的に、期限付きのアイテムを含む一連のテキスト ファイルがあり、期限が過ぎているアイテム、今日が期限のアイテム、および今後 4 日以内に期限が切れるアイテムの概要を毎日表示したいと考えています。)
今、私は鈍い力でこれをやっています:
tom1 = (Time.now + 86400).strftime('%Y-%m-%d')
tom2 = (Time.now + (86400 * 2)).strftime('%Y-%m-%d')
tom3 = (Time.now + (86400 * 3)).strftime('%Y-%m-%d')
など、その後:
if line =~ /@due\(#{tom1}\)/
found_completed = true
project += line.gsub(/@due\(.*?\)/,'').strip + " **1 day**" + "\n" + "\t"
end
if line =~ /@due\(#{tom2}\)/
found_completed = true
project += line.gsub(/@due\(.*?\)/,'').strip + " **2 days**" + "\n" + "\t"
end
などなど
私はこれを過去 30 日間、現在、そして将来の 4 日間行います。おそらく、「時間」の代わりに「日付」が必要で、これを行うためのよりエレガントな方法がない場合、何らかの範囲を設定するかどうか疑問に思っています。
ありがとう!