Курс языка программирования Raku / Основы / Основы функций / Создание и вызов функций
Возврат результата
Функции часто не только что-то делают, но и возвращают результат. Например, в функциональном программировании функции не должны производить побочных эффектов, таких как вывод на консоль. Тем не менее, Raku не ограничивает вас в этом. Давайте посмотрим, как вернуть значение из функции и как получить его в вызывающем коде.
sub add($x, $y) {
return $x + $y;
}
my $sum = add(10, 20);
say $sum; # 30Здесь функция, называемая add, принимает два числа и
возвращает их сумму. Используется явный return. На стороне
вызова значение, которое возвращает функция, может использоваться как
любое другое значение. В приведенной выше программе оно присваивается
переменной.
Последнее вычисленное значение
В Raku явный return не требуется, если результат,
который вы хотите вернуть из функции, является последним вычисленным
значением в её теле. Наша функция add может быть
упрощена:
sub add($x, $y) {
$x + $y
}Как вы могли заметить, в конце строки нет точки с запятой, так как она не требуется, когда строка заканчивает текущий блок кода.
Такие тривиальные и небольшие функции часто форматируются в одну строку для более компактного кода:
sub add($x, $y) { $x + $y }Отсутствие возвращаемых данных
Если вам нужно выйти из функции до конца её тела, и функция не
возвращает никакого результата, используйте пустой
return.
sub test($x) {
return if $x <= 10;
say "$x is above the limit";
}Практика
Пройдите 1 тест по содержанию этой темы.
Навигация по курсу
← Передача аргументов | Тест: Возврат из функции →
💪 Или перейдите сразу к упражнениям этого
раздела.