📜  斯卡拉 |范围

📅  最后修改于: 2022-05-13 01:55:14.550000             🧑  作者: Mango

斯卡拉 |范围

Scala 中的Range可以定义为一系列有组织的统一分隔的整数。它有助于以更少的方法提供更多的力量,因此在这里执行的操作非常快。一些重要的点:

  • 范围可以被 for 循环用于迭代。
  • 它可以使用一些预定义的方法获得,即untilbyto
  • 它由三个常量定义,即(开始、结束和增量值)。

句法:

val range = Range(x, y, z)

其中, x是下限, y是上限, z是增量。
例子:

// Scala program for Ranges
  
// Creating object
object GFG
{
  
    // Main method
    def main(args: Array[String])
    {
  
        // applying range method
        val x = Range(3, 10, 1)
  
        // Displays given range
        println(x)
  
        // Displays starting value
        // of the given range
        println(x(0))
  
        // Displays last value
        // of the given range
        println(x.last)
    }
}
输出:
Range(3, 4, 5, 6, 7, 8, 9)
3
9

因此,我们可以说 Range 的上限不包含在内。

在 Ranges 上执行的操作

  • 如果我们想要一个包含结束值的范围,我们还可以使用until方法,直到和 Range 方法都用于相同的目的。
    例子:
    // Scala program for Ranges
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // applying range method
            val x = Range(0, 10, 2)
      
            // applying until method
            val y = 0 until 10 by 2
      
            // Displays true if both the 
            // methods are equivalent
            println(x == y)
        }
    }
    
    输出:
    true
    

    在这里,通过方法执行增量工作。

  • Range的上限可以包含在内。
    例子:
    // Scala program for Ranges
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // applying range method
            val x = Range(1, 8)
      
            // Including upper bound
            val y = x.inclusive
      
            // Displays all the elements
            // of the range
            println(y)
        }
    }
    
    输出:
    Range(1, 2, 3, 4, 5, 6, 7, 8)
    

    这里, inclusive用于包含 Range 的上限。

  • 如果我们想要一个整数值的范围,我们可以使用to方法,to 和 inclusive Ranges 是等效的。
    例子:
    // Scala program for Ranges
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // applying range method
            val x = Range(1, 8)
      
            // Including upper bound
            val y = x.inclusive
      
            // applying 'to' method
            val z = 1 to 8
      
            // Displays true if both the
            // methods are equal
            println(y == z)
        }
    }
    
    输出:
    true
    

    因此,这两种方法都执行相同的任务。