排列(Range)描述了遵循某种规则变化的一系列的值。值必须是可推导的,更确切地说,需要实现一个 succ 方法让我们能够从一个值步进到下一个值(它的 后继者)。
译注:对于这里的 Range,大多数翻译为“范围”,但我觉得它的表现更类似于数学中的“数列”, 因为这里明显不限于数值,故译为“排列”。
Prototype 为 Number 和 String 提供了相应的 succ 方法。对于自定义对象, 如果要启用排列,你必须实现符合相应语义的 succ 方法。
ObjectRange 混入了 Enumerable,从而使得排列具有多方面的用途。 然而,需要注意的是,为获得更好的性能,通常需要重写 include 方法。
虽然 ObjectRange 提供...