$R
$R(start, end[, exclusive = false]) -> ObjectRange
创建一个新的 ObjectRange
对象。这个函数是对 ObjectRange
构造函数的简单封装,但是应优先使用 $R
简称。
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){
// invoked 10 times for value = 0 to 9
});
注意:ObjectRange
混入(mix in)了 Enumerable
模块:从而使一段范围转换为 Array
极其容易(Enumerable
提供了 toArray
方法,可供 $A
直接调用以进行转换),并且也大大的方便了值的迭代遍历。(注意:无论如何,通过 start
和 end
属性获取下限或上限值,远比调用 Enumerable
的 min()
和 max()
方法有效。)