Strażnicy dopasowania
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 7 z 78.
Warunek strażniczy dodaje warunek do wzorca. Napisz when i warunek po wzorcu: wzorzec pasuje tylko wtedy, gdy wartość pasuje do wzorca i warunek jest spełniony (true). Warunki strażnicze są dostępne od Godot 4.4.
var hp := 15
match hp:
0:
print("Defeated")
var h when h < 20:
print("Low health: ", h)
_:
print("Healthy")Low health: 15GDScript nie ma wzorców zakresu, takich jak 1..10. Tę funkcję pełni wzorzec wiązania z warunkiem ochronnym: var h when h < 20: pasuje do każdej wartości poniżej 20 i przypisuje jej nazwę h.
Gdy warunek ochronny ma wartość false, match przechodzi do następnego wzorca. Wzorce są sprawdzane od góry do dołu, więc kolejność decyduje o tym, który blok zostanie wykonany:
var temp := 32
match temp:
var t when t <= 0:
print("Freezing")
var t when t < 15:
print("Cold")
var t when t < 30:
print("Warm")
_:
print("Hot")HotDrugi wzorzec nie potrzebuje t > 0: temperatura wynosząca 0 lub mniej pasowała już do pierwszego. Warunek ochronny może używać dowolnego warunku, innych zmiennych oraz and lub or i pasuje do każdego wzorca: 5 when hard_mode: pasuje do 5 tylko wtedy, gdy hard_mode ma wartość true.
Wyzwanie
ŁatwyProgram wczytuje wiek jako liczbę całkowitą do zmiennej age. Użyj instrukcji match z warunkami, aby wypisać grupę wiekową:
- od
0do12:Child - od
13do19:Teenager - od
20do64:Adult - od
65do120:Senior - Każda inna liczba:
Invalid age
Każdy zakres obejmuje obie granice. Dla wejścia 15 wynikiem jest:
TeenagerSpróbuj swoich sił
extends Node
func _ready():
var age := int(OS.read_string_from_stdin())
# Wypisz grupę wiekową za pomocą match i warunków ochronnych
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Łańcuchy znaków — zagadnienia zaawansowane
Metody łańcuchów znakówWyszukiwanie w łańcuchach znakówZastępowanie i przycinanieDzielenie i łączeniePodsumowanie — sprawdzanie nazwy użytkownika4Słowniki, część 2
Zagnieżdżone słownikiTablice słownikówŁączenie słownikówKopiowanie słownikówPodsumowanie – licznik częstotliwości7Typy wyliczeniowe
Czym jest typ wyliczeniowy?Definiowanie typu wyliczeniowegoWartości typu wyliczeniowegoTypy wyliczeniowe w matchPowtórka – sygnalizacja świetlna10Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Powtórka — sortowanie za pomocą lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Powtórka — sumowanie zagnieżdżonej tablicy13System zarządzania zapasami
Omówienie projektuDodawanie produktu2Zaawansowane podejmowanie decyzji
Dopasowanie ze zmiennymiStrażnicy dopasowaniaWzorce tablicWzorce słownikówSprawdzanie przynależnościPowtórka — parser poleceń5Aplikacja książki kontaktów
Wyświetlanie menuDodawanie kontaktu8Menedżer danych studentów
Przegląd projektuDodaj studenta3Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DTablice postrzępioneTypowe wzorce tablic 2DPodsumowanie — plansza do gry6Zbiory ze słownikami
Czym jest zbiór?Słownik jako zbiórDodawanie i usuwanieSuma i część wspólnaRóżnica zbiorówPowtórka – usuwanie duplikatów9Zaawansowana agregacja danych
Sumowanie wartościZnajdowanie minimum i maksimumSortowanie niestandardowePodsumowanie – Sortownik słownikówPoćwicz samodzielnie: Kompilator GDScript online