gpt4 book ai didi

Kotlin 范围 : Why isn't there a `downTo` variant to exclude last item like `until` ?

转载 作者:行者123 更新时间:2023-12-02 12:52:45 25 4
gpt4 key购买 nike

在递减循环时是否有任何声明性工作来排除最后一项,例如使用 downTo ?

最佳答案

虽然 kotlin 标准库不包含此实用程序,但您可以为此定义自己的扩展函数。

查看 stdlib,直到的一个定义是:

/**
* Returns a range from this value up to but excluding the specified [to] value.
*
* If the [to] value is less than or equal to `this` value, then the returned range is empty.
*/
public infix fun Int.until(to: Int): IntRange {
if (to <= Int.MIN_VALUE) return IntRange.EMPTY
return this .. (to - 1).toInt()
}

因此,我们可以定义
infix fun Int.downUntil(to: Int): IntProgression {
if (to >= Int.MAX_VALUE) return IntRange.EMPTY
return this downTo (to + 1).toInt()
}

您可能还想定义此函数的版本以对其他原语进行操作。

关于Kotlin 范围 : Why isn't there a `downTo` variant to exclude last item like `until` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57834838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com