當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。