当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala immutable.Range用法及代码示例


用法 一

sealed abstract class Range(val start: Int, val end: Int, val step: Int) extends AbstractSeq[Int] with IndexedSeq[Int] with IndexedSeqOps[Int, IndexedSeq, IndexedSeq[Int]] with StrictOptimizedSeqOps[Int, IndexedSeq, IndexedSeq[Int]] with IterableFactoryDefaults[Int, IndexedSeq] with Serializable

Range类表示范围内的整数值[开始;结束)具有非零步长 值step.这是索引序列的一种特殊情况。例如:

val r1 = 0 until 10
val r2 = r1.start until r1.end by r1.step + 1
println(r2.length) // = 5

可以创建包含超过 Int.MaxValue 元素的范围,但这些过满的范围仅具有有限的函数。任何可能需要创建超过 Int.MaxValue 长度的集合,或者可能要求索引超过 Int.MaxValue 元素的方法都将引发异常。通过更改步长(例如 by 3 )或采用/丢弃元素,可以安全地减小溢出范围的大小。 containsequals 和对范围末端的访问( headlasttailinit )也允许在过满的范围上。

值参数:

end

范围的末端。对于专有范围,例如Range(0,3)(0 until 3) ,这是范围内最后一步的一步。对于包含范围,例如Range.inclusive(0,3)(0 to 3) ,如果没有被步长跳过,它可能在范围内。要查找非空范围内的最后一个元素,请改用last

start

这个范围的开始。

step

范围的步骤。

伴生:

object

源码:

Range.scala

用法 二

object Range

范围的伴侣对象。

伴生:

class

源码:

Range.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 immutable.Range。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。