Menu
CoddyTech

Тернарный оператор

Часть раздела Основы путешествия по 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) # Adult

GDScript проверяет 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".

challenge icon

Задание

Легко

У игрока есть 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)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор GDScript