From: "shouichi (Shouichi KAMIYA) via ruby-core" <ruby-core@...> Date: 2023-07-12T07:40:25+00:00 Subject: [ruby-core:114142] [Ruby master Feature#19698] Need an idiomatic way to define an empty range Issue #19698 has been updated by shouichi (Shouichi KAMIYA). > What is your ���intention��� to use an ���empty��� range? In a system I'm working on, I need to represent an empty date range. We can choose two arbitrary dates d1 and d2 where d1 > d2, then use d2 as a beginning and d1 as an end of a range. For example, ``` EMPTY_RANGE = Date.new(2000, 1, 1)..Date.new(1900, 1, 1) ``` But I don't think this communicates well because d1 and d2 are too arbitrary and those concrete dates only create noises when reading code. > And what do you think ���idiomatic��� way is? One idea is to add a constant e.g., `Range::EMPTY` just like `Float::EPSILON`. ---------------------------------------- Feature #19698: Need an idiomatic way to define an empty range https://bugs.ruby-lang.org/issues/19698#change-103821 * Author: shouichi (Shouichi KAMIYA) * Status: Open * Priority: Normal ---------------------------------------- It seems there is no idiomatic way to define an empty range. We can define empty ranges in several ways such as ``` ruby irb(main):001:0> (0...0).none? => true irb(main):002:0> (1...-1).none? => true ``` I think the above examples do not communicate the intention well. -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/