$R
$R(start, end[, exclusive = false]) -> ObjectRange
创建一个新的 ObjectRange
对象。这个函数是对 ObjectRange
构造函数的简单封装,但是应优先使用 $R
简称。
ObjectRange 的实例描述了一系列遵循某种规则变化的值,如数字、
文本或其它在语义上支持相邻值推导的类型。更详细的说明以及如何使自定义的类型支持
ObjectRange
,请查阅相关文档。
$R
函数和原始的构造函数具有完全相同的参数:start 和 end
分别表示下限值和上限值(两个参数的类型必须一致),exclusive
表示是否排除上限值(参数 end)。默认不排除上限值。
样例
$R(0, 10).include(10)
// -> true
$A($R(0, 5)).join(', ')
// -> '0, 1, 2, 3, 4, 5'
$A($R('aa', 'ah')).join(', ')
// -> 'aa, ab, ac, ad, ae, af, ag, ah'
$R(0, 10, true).include(10)
// -> false
$R(0, 10, true).each(function(value){
// 调用 10 次,value 的值从 0 到 9
});
注意:ObjectRange
混入(mix in)了 Enumerable
模块:从而使得该对象转换为 Array
极其容易(Enumerable
提供了
toArray 方法,可供 $A
直接调用以进行转换),并且也极大的方便了值的迭代遍历。(注意:无论如何,通过 start
和 end
属性获取下限或上限值,远比调用 Enumerable
的
min() 和 max()
方法有效。)