Флаги в функциях в Dart
В функциях можно использовать флаги в неявном виде с помощью команды
return. Давайте посмотрим, как это делается. Пусть у нас есть
следующая функция, проверяющая, что все элементы списка -
положительные числа:
bool isPositive(List<int> arr) {
var flag = true;
for (var elem in arr) {
if (elem < 0) {
flag = false;
}
}
return flag;
}
Давайте перепишем код функции с помощью неявного использования флагов:
bool isPositive(List<int> arr) {
for (var elem in arr) {
if (elem < 0) {
return false;
}
}
return true;
}
Как это работает: если в списке найдется отрицательный элемент - мы
выйдем из функции и из цикла тоже с помощью return. Если
такого элемента нет, выход из функции не произойдет и выполнение
дойдет до команды return true. Функция вернет true в
знак того, что в списке все элементы положительные.
Сделайте функцию, которая параметром будет принимать список с числами и проверять, что все элементы в этом списке являются четными числами.
Сделайте функцию, которая параметром будет принимать число и проверять, что все цифры этого числа являются нечетными.
Сделайте функцию, которая параметром будет принимать список и проверять, есть ли в этом списке два одинаковых элемента подряд.
Пусть у нас есть функция с условием. Вот она:
bool func(int a, int b) {
if (a > b) {
return true;
} else {
return false;
}
}
Как вы уже знаете из предыдущих уроков, конструкции if,
возвращающие логические значения, можно переписывать в сокращенной
форме.
Давайте сделаем это:
bool func(int a, int b) {
return a > b;
}
Дана следующая функция:
bool func(int a, int b) {
if (a == b) {
return true;
} else {
return false;
}
}
Перепишите ее код в сокращенной форме согласно изученной теории.
Дана следующая функция:
bool func(int a, int b) {
if (a != b) {
return true;
} else {
return false;
}
}
Перепишите ее код в сокращенной форме согласно изученной теории.
Дана следующая функция:
bool func(int a, int b) {
if (a + b >= 10) {
return true;
} else {
return false;
}
}
Перепишите ее код в сокращенной форме согласно изученной теории.
Дана следующая функция:
bool func(int val) {
if (val >= 0) {
return true;
} else {
return false;
}
}
Перепишите ее код в сокращенной форме согласно изученной теории.