weeksは、指定した日付から特定の曜日の日付を10週間分表示するRubyスクリプトです。
./weeks YYYY-MM-DD WdayYYYY-MM-DD: 検索を開始する日付を年-月-日の形式で指定します。Wday: 検索する曜日を英語の略称(例:Sun,Mon,Tue,Wed,Thu,Fri,Sat)で指定します。
2023年5月15日から始まる金曜日を10週間分表示するには:
./weeks 2023-05-15 Fri引数が正しくない場合や不足している場合は、使い方のメッセージと今年のカレンダーが表示されます。
./weeks
# または
./weeks 2023-05-15edit引数を付けて実行すると、スクリプトをエディタで開けます。これにより、スクリプトのパスを覚えていなくても簡単に修正できます。
./weeks editこの機能は、環境変数EDITORに設定されているエディタを使用します。
このスクリプトは以下の手順で動作します:
- 引数の解析: コマンドライン引数から開始日とターゲットの曜日を取得します。
- 曜日のマッピング: 英語の曜日略称を数値(日曜日: 0, 月曜日: 1, ... 土曜日: 6)に変換します。
- 最初のターゲット日を見つける: 指定された開始日から、最初のターゲットの曜日になるまで日付を進めます。
- 10週間分の表示: 見つかった最初のターゲットの日付から、7日ずつ日付を進めながら10回日付を表示します。
- Rubyがインストールされていること。