QA@IT

大晦日、正月三が日かを判断するRubyのコード

2716 PV

Rubyで日付が大晦日か正月三が日かを判断するコードを書いたのですが、
もう少しスッキリ書ける気がします。

こう書けばもっと綺麗になるなど教えていただけないでしょうか?

class Date
    def new_years_week?
        [[1,1], [1,2], [1,3], [12,31]].each do |a|
            return true if [self.month, self.day] == a
        end
        false
    end
end

回答

Enumerable#any?を使うとスッキリします。

class Date
  def new_years_week?
    [[1,1], [1,2], [1,3], [12,31]].any? do |a|
      [self.month, self.day] == a
    end
  end
end
編集 履歴 (0)
  • なるほど、こういう時は`any?`を使えば良かったんですね。ありがとうございます。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。