rangeTo()
rangeTo操作符在某些类型上可以简单的调用*Range的构造函数:
class Int {
//...
operator fun rangeTo(other: Long): LongRange = LongRange(this, other)
//...
operator fun rangeTo(other: Int): IntRange = IntRange(this, other)
//...
}
浮点类型的数字(Double、Float)没有定义它们的rangeTo操作符,但是在标准库中提供了一个泛型类型的函数来替代:
public operator fun <T: Comparable<T>> T.rangeTo(that: T): ClosedRange<T>
这样返回的范围不能被用来遍历。