我昨天问了一个关于比较重叠范围的问题,从那时起它一直困在我的喉咙里.
共识似乎是我的首选答案涉及使用数组交集运算符(&),效率低,因为比较数组是昂贵的.
我不知道,为什么这个功能在语言中呢?可能是语言创造者认为有时你需要一种优雅的方式来实现解决方案,即使这样做很昂贵吗?比较阵列是否太昂贵以至于应尽可能避免使用它?对我而言,Ruby的全部吸引力在于过早优化的语法优雅.
&
不是一种特别低效的方法.我认为你误解了对公认答案的批评.
您首选的解决方案效率低下,因为它将范围转换为数组.
范围如1..10000
内存占用相对较小 - 它只存储起点和终点.但是如果将其转换为数组,则为所有10,000个条目分配内存.