日付順で並べる時に毎度悩む

記事一覧を作る時に、というか何かのファイル群を日付順で並べたい時にいつも困るのは、年とか月とかをどうやって挿入するのかというところ。

愚直にループさせれば何とかなるという話なのだろうけれど、いつも混乱する。新たにハッシュ、オブジェクトのリスト的なものを作る時も、あるいはただのリストを表示させながら間に日付を挿入する時も、同様に混乱する。

例えば、2024年1月と見出しを出力してその下に記事一覧を、それが終わったら次は2023年12月という見出し、その下には記事一覧…というような具合。

一つの方法として、「あるサイクルにおける最初の1つの処理は終わっているのかどうか」というフラグを立てれば良いのだと気づいた。年と月、2つのフラグを用意する。最初の1つが見つかった時点でフラグを true にし、サイクルが終わるときにフラグを false にする。ただそれだけのことなのだけれど頭の中で考えていることと近いのでわかりやすいと感じた。