Курс языка программирования 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!Практика
Пройдите 2 теста по содержанию этой темы.
Навигация по курсу
← Тест 2: Переменные как именованные параметры | Тест: Задача значений по умолчанию →
💪 Или перейдите сразу к упражнениям этого
раздела.