Scala 范围
2018-01-15 17:55 更新
Scala范围
有些代码需要从一些开始到结束创建一个数字序列。一个 Range 常量量是我们需要的。
范围可以通过它们的开始,结束和步进值来定义。
要在Scala中创建范围,请使用预定义的方法,如以下代码所示:
object Main {
def main(args: Array[String]) {
println(1 to 5 )
}
}
我们还可以使用预定义的方法创建一个具有上限(不包括其上限)的范围,直到如下代码所示。
object Main {
def main(args: Array[String]) {
println(1 until 5 )
}
}
对于1到5,创建范围(1,2,3,4,5),但对于1到5,创建具有上限独占范围(1,2,3,4)的范围。
我们还可以使用预定义的方法创建一个带有步进值的范围,如下面的代码所示。
object Main {
def main(args: Array[String]) {
println(1 to 20 by 4 )
}
}例子
以下示例显示如何为支持它们的类型创建范围:Int,Long,Float,Double,Char,BigInt和BigDecimal。
object Main {
def main(args: Array[String]) {
var v = 1 to 10 // Int range inclusive, interval of 1, (1 to 10)
println(v)
v = 1 until 10 // Int range exclusive, interval of 1, (1 to 9)
println(v)
val v1 = 1 to 10 by 3 // Int range inclusive, every third.
println(v1)
val v2 = 10 to 1 by -3 // Int range inclusive, every third, counting down.
println(v2)
val v3 = 1L to 10L by 3 // Long
println(v3)
val v4 = 1.1f to 10.3f by 3.1f // Float with an interval != 1
println(v4)
val v5 = 1.1f to 10.3f by 0.5f // Float with an interval < 1
println(v5)
val v6 = 1.1 to 10.3 by 3.1 // Double
println(v6)
val v7 = "a" to "g " by 3 // Char
println(v7)
val v8 = BigInt(1) to BigInt(10) by 3
println(v8)
val v9 = BigDecimal(1.1) to BigDecimal(10.3) by 3.1
println(v9)
}
}
注意
您可以创建包含或独占上限的范围,并且您可以指定不等于1的间隔:
以上内容是否对您有帮助:
← Scala 选项




更多建议: