У меня есть эксклюзивный диапазон целых чисел, например,
range = 1000...10001
Я бы предпочел работать с инклюзивными диапазонами полностью, но причина этого заключается в том, что, когда я говорю ActiveRecord хранить инклюзивный диапазон вPostgreSQL, я получаю эксклюзивную версию, когда запрашиваю ее обратно.
Я хочу преобразовать ее в включающий диапазон, например, 1000..10000
.
Я делаю:
(range.begin)..(range.end-1)
Однако это выглядит неуклюже и не-ruby-ish.
Весь мой API опирается на проходные диапазоны, но я такжерассмотреть возможность создания двух значений или хранения массива в Postgres вместо диапазона.
Есть ли лучший способ сделать это?
Редактировать (некоторые пояснения)
Я хочу сделать это максимально эффективно, учитывая большую разницу между диапазонами
Мой вариант использования - использовать начальную и конечную части диапазонов.Я на самом деле не перебираю их и не проверяю включение.Я просто подумал, что рубиновый диапазон - это хороший способ для представления фактического диапазона, например, для отображения цены ($ 1000 - $ 10.000)