Menu
CoddyTech

Wzorce tablic

Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 8 z 78.

Wzorzec tablicy zapisuje się tak jak literał tablicy. Dopasowuje tablicę o tym samym rozmiarze, której elementy dopasowują się pojedynczo. Każdy element wzorca może być literałem, _ lub wiązaniem:

var point := [0, 7]
match point:
	[0, 0]:
		print("Origin")
	[0, var y]:
		print("On the y-axis at ", y)
	[var x, var y]:
		print("Point ", x, ", ", y)
On the y-axis at 7

Rozmiar musi być taki sam: [var x, var y] nie pasuje do [1, 2, 3]. Umieść .. jako ostatni element, aby dopuścić dowolną liczbę dodatkowych elementów (w tym zero), a dla pustej tablicy zapisz []:

var cmd := ["give", "sword", "Ana"]
match cmd:
	[]:
		print("Nothing typed")
	["give", var item, ..]:
		print("Giving ", item)
Giving sword

Warunki działają też ze wzorcami tablic: [var a, var b] when a == b: dopasowuje dwa równe elementy.

Wzorce tablic pasują tylko do typu Array. Zwracany przez split() typ PackedStringArray nigdy do nich nie pasuje. Zapisz wynik w zmiennej zadeklarowanej jako Array, co spowoduje jego konwersję:

var words: Array = "go north".split(" ")
match words:
	["go", var dir]:
		print("Heading ", dir)
Heading north
challenge icon

Wyzwanie

Łatwy

Program odczytuje punkt zapisany jako x,y i przechowuje go w tablicy point jako dwie liczby całkowite (jest to już napisane). Użyj instrukcji match z wzorcami tablicowymi, aby wypisać, gdzie znajduje się punkt, stosując pierwszą pasującą regułę:

  • Obie wartości to 0: Origin
  • x to 0: On the y-axis at y=, a następnie y
  • y to 0: On the x-axis at x=, a następnie x
  • x i y są równe: On the diagonal at , a następnie wartość
  • W każdym innym przypadku: Point at (x, y) z dwiema wartościami

Dla wejścia 0,5 wynikiem jest:

On the y-axis at y=5

Dla wejścia 2,7 wynik to:

Point at (2, 7)

Spróbuj swoich sił

extends Node

func _ready():
	var parts := OS.read_string_from_stdin().split(",")
	var point := [int(parts[0]), int(parts[1])]
	# Dopasuj point do wzorców tablicowych
quiz iconSprawdź się

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

Poćwicz samodzielnie: Kompilator GDScript online