Курс языка программирования Raku / Основы / Создание и вызов функций

Значения по умолчанию

И позиционные, и именованные параметры могут иметь значения по умолчанию. Если функция имеет значение по умолчанию для данного параметра, этот параметр может быть пропущен при вызове функции.

Позиционные параметры

Пример значения по умолчанию для функции с позиционными параметрами:

sub greet($name = 'World') {
    say "Hello, $name!";
}

greet('Merinda');
greet();

Первый вызов использует имя, переданное в качестве единственного аргумента, и, таким образом, выводит Hello, Merinda!. Второй вызов использует значение по умолчанию и выводит Hello, World!.

Если функция имеет более одного параметра, то значения по умолчанию могут использоваться только в конце их списка:

sub f($a, $b, $c = 42, $d = 50) { . . . } # правильно
# sub f($a = 10, $b = 20, $c, $d) { . . . } # НЕПРАВИЛЬНО

Именованные параметры

Та же синтаксическая конструкция используется для установки значений по умолчанию для именованных параметров:

sub greet(:$name = 'World') {
    say "Hello, $name!";
}

greet(name => 'Merinda'); # Hello, Merinda!
greet(); # Hello, World!

Порядок именованных параметров не имеет значения, поэтому любой из них может иметь значения по умолчанию, даже первый в списке:

sub greet(:$greeting = 'Hello', :$name) {
    say "$greeting, $name!";
}

greet(name => 'Alla'); # Hello, Alla!

Практика

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

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

Создание и вызов функций / Именованные параметры   |   💪 Упражнения: Создание и вызов функций

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

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