Menu
CoddyTech

Deklarowanie funkcji

Część sekcji Podstawy ścieżki GDScript w Coddy. Lekcja 51 z 92.

Funkcja to blok kodu z nazwą. Zapisujesz ją raz, a uruchamiasz, czyli wywołujesz, zawsze wtedy, gdy jej potrzebujesz.

Spójrz na ten kod:

print("Welcome to Coddy")
print("New session...")
print("Welcome to Coddy")
print("Another session...")
print("Welcome to Coddy")

Linia powitalna jest zapisana trzy razy. Aby zmienić wiadomość, trzeba byłoby edytować wszystkie trzy. Funkcja rozwiązuje ten problem.

Zadeklaruj funkcję za pomocą func, podaj jej nazwę, nawiasy i dwukropek. Instrukcje funkcji są wcięte poniżej:

func greet():
	print("Welcome to Coddy")

Znasz już jedną funkcję: _ready(), którą Godot wywołuje, gdy program się uruchamia. Własne funkcje umieszczaj na najwyższym poziomie pliku, obok _ready(), a nie wewnątrz niej. Aby wywołać funkcję, wpisz jej nazwę, a następnie nawiasy:

extends Node

func _ready():
	greet()
	print("New session...")
	greet()
	print("Another session...")
	greet()

func greet():
	print("Welcome to Coddy")

To wypisuje te same pięć wierszy co pierwszy przykład, a komunikat jest teraz w jednym miejscu.

Kolejność funkcji w pliku nie ma znaczenia: _ready() może wywołać funkcję zapisaną poniżej. Nazwy funkcji zapisuje się w formacie snake_case, tak jak zmienne.

challenge icon

Wyzwanie

Łatwy

Program wczytuje liczbę całkowitą n i ma pętlę, która wykonuje się n razy.

  1. Poniżej _ready() zadeklaruj funkcję o nazwie print_large_number, która wypisuje liczbę 50005000.
  2. Wewnątrz pętli zastąp pass wywołaniem print_large_number().

Dla wejścia 3 wynikiem jest:

50005000
50005000
50005000

Spróbuj swoich sił

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	for i in range(n):
		# Wywołaj tutaj print_large_number()
		pass

# Zadeklaruj poniżej funkcję print_large_number()
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator GDScript online