Значения по умолчанию
Часть раздела Основы путешествия по GDScript на Coddy. Урок 57 из 92.
У параметра может быть значение по умолчанию, записанное с помощью = в объявлении. Тогда при вызове аргумент можно пропустить, и параметр получит значение по умолчанию:
func greet(player, greeting = "Hello"):
print(greeting, ", ", player, "!")greet("Ana")
greet("Ana", "Welcome back")Hello, Ana!
Welcome back, Ana!В первый вызов передаётся один аргумент, поэтому greeting равен "Hello". Во второй вызов передаётся собственное значение, которое заменяет значение по умолчанию.
У функции может быть несколько значений по умолчанию, и типизированные параметры тоже могут их иметь:
func spawn(enemy: String, count: int = 1, speed: float = 2.5) -> void:
print(count, " x ", enemy, " at speed ", speed)spawn("bat") выводит 1 x bat at speed 2.5, а spawn("bat", 3) выводит 3 x bat at speed 2.5. Аргументы по-прежнему заполняют параметры по порядку, поэтому нельзя передать speed, не передав также count.
Параметры со значением по умолчанию должны идти после параметров без значения по умолчанию. func greet(greeting = "Hello", player): — это ошибка: «После необязательных параметров не могут идти обязательные параметры».
Задание
ЛегкоПрограмма считывает имя игрока в player.
- Ниже
_ready()объяви функциюgreetс двумя параметрами:player_nameиgreetingсо значением по умолчанию"Hello". Она выводит приветствие, запятую и пробел, имя и!. - В
_ready()вызовиgreet(player), затемgreet(player, "Welcome back").
Для ввода Ana результат будет таким:
Hello, Ana!
Welcome back, Ana!Попробуйте сами
extends Node
func _ready():
var player := OS.read_string_from_stdin()
# Вызовите greet(player), затем greet(player, "Welcome back")
# Объявите ниже greet() с "Hello" в качестве приветствия по умолчанию
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор остатка от деленияСокращённая запись арифметических операцийПовторение — простая математикаОператоры сравнения7Основы ввода и вывода
ВыводВывод с переменнымиФорматирование строкВводПреобразование типовПовторение — до 120Повторение — истина или ложь5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор для разделения счёта
Приветственное сообщениеВвод данных11FizzBuzz с неожиданным поворотом
Обзор игрыФункция FizzBuzz14Массивы: продвинутый уровень
Срезы массивовОператоры последовательностейПринадлежностьСортировка и обратный порядок3Переменные. Часть 2
Объявление типаВывод типаКонстантыПовторение — инициализация переменныхПреобразование типов6Принятие решений
Оператор ifЕсли — иначеПовторение: простой калькуляторВложенные условия if — elseОператор match9Циклы
Цикл forЦикл whileBreakContinueПовторение — факториалФункция rangeВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Онлайн-компилятор GDScript