Курс языка программирования 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";
}

Практика

Пройдите викторину, которая охватывает содержание этой темы.

Навигация по курсу

Создание и вызов функций / Параметры функций   |   Создание и вызов функций / Позиционные параметры


💪 Or jump directly to the exercises to this section.

Эта страница автоматически переведена с помощью ChatGPT 4o. Оригинальный текст на английском языке.

Переводы этой страницы: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська