Tag: tail call optimization

尾巴rec kotlin名单

我正在尝试做一些操作,只会在Kotlin中导致一个StackOverflow。 知道了,我记得Kotlin支持tailrec函数,所以我试着做: private tailrec fun Turn.debuffPhase(): List { val turns = listOf(this) if (facts.debuff == 0 || knight.damage == 0) { return turns } // Recursively find all possible thresholds of debuffing return turns + debuff(debuffsForNextThreshold()).debuffPhase() } 当我惊讶IDEA没有认识到它是一个tailrec ,我试图tailrec它的扩展function,并使其正常的function: private tailrec fun debuffPhase(turn: Turn): List { val turns = listOf(turn) if (turn.facts.debuff == 0 || […]