Kotlin编程实战:创建优雅、富于表现力和高性能的JVM与Android应用程序
上QQ阅读APP看书,第一时间看更新

4.1.3 反向迭代

前面的示例展示了正向迭代,但是我们应该能够轻松地反向遍历整个范围。创建一个值范围5..1并不能完成这项工作,这是downTo的用武之地。

让我们从5向下迭代到1:

对downTo()方法的调用创建了IntProgression的一个实例,它也是kotlin.ranges包的一部分。这样可以,但是有点儿乱。我们可以用中缀表示法来删除靠近downTo的点和圆括号,以使代码更易于阅读,我们将在12.4节中看到如何使点和圆括号在我们自己的代码中成为可选项。让我们用较少的混乱来重写迭代:

..和downTo()都生成了从开始到结束的一系列值。跳过范围中的某些值并不少见,有其他方法可以实现这一点。