我有一个唯一的整数范围,例如
range = 1000...10001
我宁愿一直使用包容范围,但之所以这样,是因为当我告诉ActiveRecord在PostgreSQL中存储一个包容范围时,当我向其查询时便获得了包容版本。
我想将其转换为包含范围,例如1000..10000
。
我在做
(range.begin)..(range.end-1)
但是它感觉笨拙且不带红润。
我的整个API都依赖于传递范围,但是我也在考虑讲故事2个值或在Postgres中存储一个数组而不是范围。
有更好的方法吗?
编辑(一些说明)
鉴于范围之间的巨大差异,我想尽可能有效地做到这一点
我的用例是使用范围的开始和结束部分。我实际上不是在遍历它们或检查包含。我只是认为红宝石范围是代表实际范围的好方法,例如显示价格($ 1.000-$ 10.000)