Тернарный оператор
Часть раздела Основы путешествия по GDScript на Coddy. Урок 25 из 92.
Тернарный оператор выбирает одно из двух значений в зависимости от условия. Он состоит из трёх частей:
value_if_true if condition else value_if_falseНапример:
var age := 20
var status := "Adult" if age >= 18 else "Minor"
print(status) # AdultGDScript проверяет age >= 18. Условие истинно, поэтому status получает значение "Adult". Если бы age было равно 15, status получило бы значение "Minor".
Значениями могут быть числа или переменные, а результат можно сразу передать в print():
var x := 10
var y := 20
var bigger := x if x > y else y # 20
print("Pass" if 75 >= 60 else "Fail") # PassЗадайте обоим значениям одинаковый тип. var r := 1 if ok else "one" — это ошибка, потому что GDScript не может определить, является ли r значением типа int или String.
Условие может использовать логические операторы: "Open" if has_key and level >= 5 else "Locked".
Задание
ЛегкоУ игрока есть coins, и он хочет купить предмет, который стоит price. Обе переменные объявлены за вас.
Объявите переменную status с помощью тернарного оператора:
"Purchase complete", еслиcoinsбольше или равноprice"Not enough coins"в противном случае
Строка print() выводит status. При заданных значениях вывод будет таким:
Not enough coinsПопробуйте сами
extends Node
func _ready():
var coins := 150
var price := 200
# Объявите status с помощью тернарного оператора ниже
# Не изменяйте строку ниже
print(status)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыЦелочисленное делениеОператор остатка от деленияСокращённая запись арифметических операцийПовторение — простая математикаОператоры сравнения7Основы ввода и вывода
ВыводВывод с переменнымиФорматирование строкВводПреобразование типовПовторение — до 120Повторение — истина или ложь5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор для разделения счёта
Приветственное сообщениеВвод данных11FizzBuzz с неожиданным поворотом
Обзор игрыФункция FizzBuzz14Массивы: продвинутый уровень
Срезы массивовОператоры последовательностейПринадлежностьСортировка и обратный порядок3Переменные. Часть 2
Объявление типаВывод типаКонстантыПовторение — инициализация переменныхПреобразование типов6Принятие решений
Оператор ifЕсли — иначеПовторение: простой калькуляторВложенные условия if — elseОператор match9Циклы
Цикл forЦикл whileBreakContinueПовторение — факториалФункция rangeВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Онлайн-компилятор GDScript