Menu
CoddyTech

Valores padrão

Parte da seção Fundamentos do Journey de GDScript da Coddy. Lição 57 de 92.

Um parâmetro pode ter um valor padrão, escrito com = na declaração. Assim, uma chamada pode omitir esse argumento, e o parâmetro recebe o valor padrão:

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

A primeira chamada passa um argumento, então greeting é "Hello". A segunda chamada passa seu próprio valor, que substitui o valor padrão.

Uma função pode ter vários valores padrão, e parâmetros tipados também podem tê-los:

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

spawn("bat") imprime 1 x bat at speed 2.5, e spawn("bat", 3) imprime 3 x bat at speed 2.5. Os argumentos ainda preenchem os parâmetros em ordem, então você não pode passar speed sem também passar count.

Parâmetros com valor padrão devem vir depois daqueles sem valor padrão. func greet(greeting = "Hello", player): é um erro: "Não é possível ter parâmetros obrigatórios depois de parâmetros opcionais".

challenge icon

Desafio

Fácil

O programa lê um nome de jogador em player.

  1. Abaixo de _ready(), declare uma função greet com dois parâmetros: player_name e greeting com o valor padrão "Hello". Ela imprime a saudação, uma vírgula e um espaço, o nome e !.
  2. Em _ready(), chame greet(player) e, em seguida, greet(player, "Welcome back").

Para a entrada Ana, a saída é:

Hello, Ana!
Welcome back, Ana!

Experimente você mesmo

extends Node

func _ready():
	var player := OS.read_string_from_stdin()
	# Chame greet(player) e depois greet(player, "Welcome back")

# Declare greet() abaixo, com "Hello" como saudação padrão
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de GDScript online