(Ruby)如果数组交集运算符(&)效率低下,为什么它可用?

2 ruby arrays intersection

我昨天问了一个关于比较重叠范围的问题,从那时起它一直困在我的喉咙里.

共识似乎是我的首选答案涉及使用数组交集运算符(&),效率低,因为比较数组是昂贵的.

我不知道,为什么这个功能在语言中呢?可能是语言创造者认为有时你需要一种优雅的方式来实现解决方案,即使这样做很昂贵吗?比较阵列是否太昂贵以至于应尽可能避免使用它?对我而言,Ruby的全部吸引力在于过早优化的语法优雅.

Sar*_*Mei 13

&不是一种特别低效的方法.我认为你误解了对公认答案的批评.

您首选的解决方案效率低下,因为它将范围转换为数组.

范围如1..10000内存占用相对较小 - 它只存储起点和终点.但是如果将其转换为数组,则为所有10,000个条目分配内存.