Kotlin 中的反转“重复”功能
Posted
技术标签:
【中文标题】Kotlin 中的反转“重复”功能【英文标题】:Inverted "repeat" function in Kotlin 【发布时间】:2020-07-29 16:43:45 【问题描述】:有一个 Kotlin 标准库 repeat()
函数允许执行给定函数指定次数并检索当前重复的索引。例如:
repeat(3)
println(it)
是否有一个函数可以以相反的顺序执行相同的操作?在某种程度上,指数下降了?
【问题讨论】:
(1..3).forEach
应该这样做。
@al3c 我需要的是反向索引。在这种情况下,(3..1).forEachIndexed
可以,但是,我专门询问 repeat()
函数。
println(2-it)
没有标准库函数。
为什么需要repeat
?
【参考方案1】:
不,没有倒计时的 stdlib repeat()
函数版本。
这可能是因为它很容易使用其他结构,例如forEach()
。 (如果您足够关心传递的值以想要特定的顺序,那么这可能是一个好主意,因为它会使它变得明确。)
但如果你真的不想直接使用它,那么你自己写很容易:
inline fun repeatReverse(times: Int, action: (Int) -> Unit)
= (times downTo 1).forEach(action)
【讨论】:
以上是关于Kotlin 中的反转“重复”功能的主要内容,如果未能解决你的问题,请参考以下文章
如何将onClickListener设置为kotlin中的按钮[重复]