Курс по 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 е над лимита";
}

Практика

Попълнете теста, който обхваща съдържанието на тази тема.

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

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


💪 Or jump directly to the exercises to this section.

Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски

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