- Learn Kotlin Programming(Second Edition)
- Stephen Samuel Stefan Bocutiu
- 291字
- 2021-06-24 14:13:27
Ranges
A range is defined as an interval that has a start value and an end value. Any types which are comparable can be used to create a range, which is done using the .. operator:
val aToZ = "a".."z" val oneToNine = 1..9
Once a range is created, the in operator can be used to test whether a given value is included in the range. This is why the types must be comparable. For a value to be included in a range, it must be greater than or equal to the start value and less than or equal to the end value:
val aToZ = "a".."z" val isTrue = "c" in aToZ val oneToNine = 1..9 val isFalse = 11 in oneToNine
Integer ranges such as (ints, longs, and chars) also have the ability to be used in a for loop. See the Loops section for further details.
There are further library functions to create ranges not covered by the .. operator; for example, downTo() will create a range counting down, and rangeTo()will create a range up to a value. Both of these functions are defined as extension functions on numerical types:
val countingDown = 100.downTo(0) val rangeTo = 10.rangeTo(20)
Once a range is created, you can modify the range, returning a new range. To modify the delta between each successive term in the range, we can use the step() function:
val oneToFifty = 1..50 val oddNumbers = oneToFifty.step(2)
You cannot use a negative value here to create a decreasing range. Finally, ranges can be reversed using the reversed() function. As the name implies, it returns a new range with the start and end values switched, and the step value negated:
val countingDownEvenNumbers = (2..100).step(2).reversed()
- 程序員修煉之道:程序設計入門30講
- Learning C# by Developing Games with Unity 2020
- 數據庫系統教程(第2版)
- SQL Server 2012數據庫技術及應用(微課版·第5版)
- Python自動化運維快速入門(第2版)
- C語言程序設計教程(第2版)
- Essential Angular
- PLC編程及應用實戰
- 軟件架構:Python語言實現
- 好好學Java:從零基礎到項目實戰
- Mastering Linux Security and Hardening
- Python語言實用教程
- Instant jQuery Boilerplate for Plugins
- Mastering Adobe Captivate 7
- 嵌入式Linux C語言程序設計基礎教程