Для класса я должен сделать программу, которая вычисляет задачу на день рождения. Теперь я пытаюсь изучать kotlin одновременно, и у меня возникают проблемы с небольшим фрагментом кода:
val checkSet = mutableSetOf<Int>()
generateSequence{ Random.nextInt(n)}.forEach {
if(!checkSet.add(it)) {
return@outForeach
}
}
outForeach@
sum += checkSet.size
Как видите, я пытаюсь сделать это с бесконечной последовательностью.Kotlin не принимает это как outForeach - неразрешенная ссылка.Но это тоже не работает:
val checkSet = mutableSetOf<Int>()
generateSequence{ Random.nextInt(n)}.forEach {
if(!checkSet.add(it)) {
return@forEach
}
}
sum += checkSet.size
Это просто снова запустит цикл forEach.Есть ли способ реализовать что-то как forEachUntil или около того?
ps Я знаю, что это выглядит примерно так: 'return' не выпрыгивает из forEach в Kotlin Просто я действительно не получаю ответы и не знаю, применимо ли это здесь.Также способ реализации forEachUntil кажется мне гораздо более элегантным