W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
有些代碼需要從一些開始到結(jié)束創(chuàng)建一個(gè)數(shù)字序列。一個(gè) Range
常量是我們需要的。
范圍可以通過它們的開始,結(jié)束和步進(jìn)值來定義。
要在Scala中創(chuàng)建范圍,請(qǐng)使用預(yù)定義的方法,如以下代碼所示:
object Main { def main(args: Array[String]) { println(1 to 5 ) } }
我們還可以使用預(yù)定義的方法創(chuàng)建一個(gè)具有上限(不包括其上限)的范圍,直到如下代碼所示。
object Main { def main(args: Array[String]) { println(1 until 5 ) } }
對(duì)于1到5,創(chuàng)建范圍(1,2,3,4,5),但對(duì)于1到5,創(chuàng)建具有上限獨(dú)占范圍(1,2,3,4)的范圍。
我們還可以使用預(yù)定義的方法創(chuàng)建一個(gè)帶有步進(jìn)值的范圍,如下面的代碼所示。
object Main { def main(args: Array[String]) { println(1 to 20 by 4 ) } }
以下示例顯示如何為支持它們的類型創(chuàng)建范圍:Int,Long,F(xiàn)loat,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) } }
您可以創(chuàng)建包含或獨(dú)占上限的范圍,并且您可以指定不等于1的間隔:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: