January 2024
Intermediate to advanced
472 pages
5h 56m
Japanese
光陰矢のごとし / 時計の針はとても速く進み、風を吹かせる /
カレンダーのページを一枚一枚窓の外に飛ばしていく
—— They Might Be Giants, "Hovering Sombrero" (2001)
本章では、ターミナル上でカレンダーを表示するcalコマンドのクローンを作成します。個人的には、今日が何日で何曜日なのかわからなくなることがよくあるので、calやdateを使って確認しています。一見すると単純なコマンドに見えますが、実装を突き詰めていくとかなり複雑になります。
本章では、以下の内容を学びます。
Vec::chunksを使ってベクタの要素をグループ化する方法まずはBSD版のcalのマニュアルページを見て、何を実装する必要があるかを考えてみましょう。マニュアルページはかなり長いので、今回のプログラムに関連する部分だけ示します。
CAL(1) BSD General Commands Manual CAL(1) NAME cal, ncal — displays a calendar and the date of Easter SYNOPSIS cal [-31jy] [-A number] [-B number] [-d yyyy-mm] [[month] year] cal [-31j] [-A number] [-B number] [-d yyyy-mm] -m month [year] ncal [-C] [-31jy] [-A number] [-B number] ...