Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Kotlin中将for循环转换为list函数_Kotlin - Fatal编程技术网

如何在Kotlin中将for循环转换为list函数

如何在Kotlin中将for循环转换为list函数,kotlin,Kotlin,我正在阅读《大书呆子牧场指南》,这里有一个问题希望您使用列表函数而不是for循环 var count = 0 for (answer in answerList) { if (!answer.isCorrect) { answer.isEnabled = false answer.isSelected = false // deselect when answer is disabled count+

我正在阅读《大书呆子牧场指南》,这里有一个问题希望您使用列表函数而不是for循环

var count = 0
    for (answer in answerList) {
        if (!answer.isCorrect) {
            answer.isEnabled = false
            answer.isSelected = false // deselect when answer is disabled
            count++
            if (count == 2) {
                break
            }
        }
    }
这是我的解决办法,但我不知道如何对付伯爵

var count = 0
    answerList
            .filter { !it.isCorrect }
            .forEach {
                it.isSelected  = false
                it.isSelected = false
                count++
            }
            .takeIf { count == 2 }

如果要对前两个(最多)项执行“不正确”的操作,可以通过以下方式执行:


如果要对前两个(最多)项执行“不正确”的操作,可以通过以下方式执行:


这是一个很好的例子,说明了功能性风格如何不仅更简洁,而且更具可读性(因为它描述了做什么,而不是如何做)。这是一个很好的例子,说明了功能性风格如何不仅更简洁,而且更具可读性(因为它描述了做什么,而不是如何做)。
answerList
        .filter { !it.isCorrect }
        .take(2)
        .forEach {
            it.isEnabled = false
            it.isSelected = false
        }