Menu
CoddyTech

Wartości domyślne

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

Parametr może mieć wartość domyślną, zapisaną za pomocą = w deklaracji. Wywołanie może wtedy pominąć ten argument, a parametr otrzyma wartość domyślną:

func greet(player, greeting = "Hello"):
	print(greeting, ", ", player, "!")
greet("Ana")
greet("Ana", "Welcome back")
Hello, Ana!
Welcome back, Ana!

Pierwsze wywołanie przekazuje jeden argument, więc greeting ma wartość "Hello". Drugie wywołanie przekazuje własną wartość, która zastępuje wartość domyślną.

Funkcja może mieć kilka wartości domyślnych, a typowane parametry również mogą je mieć:

func spawn(enemy: String, count: int = 1, speed: float = 2.5) -> void:
	print(count, " x ", enemy, " at speed ", speed)

spawn("bat") wypisuje 1 x bat at speed 2.5, a spawn("bat", 3) wypisuje 3 x bat at speed 2.5. Argumenty nadal przypisuje się do parametrów w kolejności, więc nie możesz przekazać speed bez przekazania również count.

Parametry z wartością domyślną muszą występować po tych bez niej. func greet(greeting = "Hello", player): powoduje błąd: „Nie można umieszczać wymaganych parametrów po opcjonalnych”.

challenge icon

Wyzwanie

Łatwy

Program wczytuje imię gracza do player.

  1. Poniżej _ready() zadeklaruj funkcję greet z dwoma parametrami: player_name oraz greeting z wartością domyślną "Hello". Wypisuje ona powitanie, przecinek i spację, imię oraz !.
  2. W _ready() wywołaj greet(player), a następnie greet(player, "Welcome back").

Dla danych wejściowych Ana wynikiem jest:

Hello, Ana!
Welcome back, Ana!

Spróbuj swoich sił

extends Node

func _ready():
	var player := OS.read_string_from_stdin()
	# Wywołaj greet(player), a następnie greet(player, "Welcome back")

# Zadeklaruj poniżej greet() z "Hello" jako domyślnym powitaniem
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