質問: 現在このようなコードにしています。 `Date.new(Time.now.year, Time.now.month, -1).day` もっとスマートに書けるんじゃないかと思うんですが、、、、 他に書き方があれば教えて下さい。 もっと言うと、「今日は末日かどうか」の判定を行うために使っています。 これに適した方法があればそちらも教えてくださると嬉しいです。
回答: これはRubyなので、他に書き方があるはずですが`Date.new(Time.now.year, Time.now.month, -1).day`の書き方は結構読みやすいし、とても人気のある書き方です。別のアップローチもあるようですが、この場合の関数は元のアップローチより読みやすくないと私は思います。 また、Rails自体を使う場合は、`end_of_month()`という関数もあると思います。 yasuさんが説明したように、ActiveSupportのオプションもあります。そういえば、`expanded_date`というgemもあるようです。 `expanded_date`の例 (Jonさんのスレに基づいた例): ``` require 'expanded_date' d = Date.today puts d.end_of_month.mday.to_s ``` 出力は: ``` 31 ```