Menu
CoddyTech

Valori predefiniti

Fa parte della sezione Fondamenti del percorso GDScript di Coddy. Lezione 57 di 92.

Un parametro può avere un valore predefinito, indicato con = nella dichiarazione. Una chiamata può quindi omettere quell'argomento e al parametro viene assegnato il valore predefinito:

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

La prima chiamata passa un argomento, quindi greeting è "Hello". La seconda chiamata passa il proprio valore, che sostituisce quello predefinito.

Una funzione può avere diversi valori predefiniti, e anche i parametri tipizzati possono averli:

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

spawn("bat") stampa 1 x bat at speed 2.5 e spawn("bat", 3) stampa 3 x bat at speed 2.5. Gli argomenti continuano a riempire i parametri nell'ordine, quindi non puoi passare speed senza passare anche count.

I parametri con un valore predefinito devono venire dopo quelli senza. func greet(greeting = "Hello", player): è un errore: "Non è possibile avere parametri obbligatori dopo parametri facoltativi".

challenge icon

Sfida

Facile

Il programma legge il nome di un giocatore in player.

  1. Sotto _ready(), dichiara una funzione greet con due parametri: player_name e greeting con il valore predefinito "Hello". Stampa il saluto, una virgola e uno spazio, il nome e !.
  2. In _ready(), chiama greet(player), poi greet(player, "Welcome back").

Per l'input Ana, l'output è:

Hello, Ana!
Welcome back, Ana!

Provalo tu

extends Node

func _ready():
	var player := OS.read_string_from_stdin()
	# Chiama greet(player), poi greet(player, "Welcome back")

# Dichiara greet() qui sotto, con "Hello" come saluto predefinito
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore GDScript online