Флаги в функциях в Kotlin
В функциях можно использовать флаги
в неявном виде с помощью инструкции
return. Давайте посмотрим,
как это делается. Пусть у нас есть
следующая функция, проверяющая,
что все элементы списка положительные
числа:
fun isPositive(arr: List<Int>): Boolean {
var flag = true
for (elem in arr) {
if (elem < 0) {
flag = false
}
}
return flag
}
Давайте перепишем код функции с помощью неявного использования флагов:
fun isPositive(arr: List<Int>): Boolean {
for (elem in arr) {
if (elem < 0) {
return false
}
}
return true
}
Как это работает: если в списке найдется
нужный элемент - мы выйдем из функции
(и из цикла тоже) с помощью return.
Но если в списке не найдется нужный элемент -
выхода из функции не произойдет и выполнение
дойдет до команды return true. И
получится, что функция вернет true
в знак того, что в списке все элементы
положительные.
Сделайте функцию, которая параметром будет принимать список с числами, и проверять, что все элементы в этом списке являются четными числами.
Сделайте функцию, которая параметром будет принимать число и проверять, что все цифры этого числа являются нечетными.
Сделайте функцию, которая параметром будет принимать список и проверять, есть ли в этом списке два одинаковых элемента подряд.