Menu
CoddyTech

Arrays tipados

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

Um array simples aceita valores de qualquer tipo. Um array tipado aceita apenas um tipo, escrito entre colchetes após Array:

var scores: Array[int] = [90, 85, 77]
var players: Array[String] = ["Ana", "Ben"]
var bonuses: Array[int] = []

O GDScript verifica cada valor. Um valor do tipo errado entre colchetes é reportado antes de o programa ser executado:

var scores: Array[int] = [90, "high"]  # Erro: "high" não é um int

Adicionar um valor do tipo errado enquanto o programa está em execução também é um erro, e o valor não é adicionado:

var scores: Array[int] = [90, 85]
var bonus = "ten"
scores.append(bonus)  # Erro, scores permanece [90, 85]

A inferência de tipos com := não cria um array tipado: var scores := [90, 85] é um Array simples. Escreva Array[int] para obter um.

Como um array tipado conhece o tipo de seus elementos, var best := scores[0] infere int. Com um array comum, a mesma linha causa um erro, pois seus elementos podem ser de qualquer tipo.

Arrays tipados têm os mesmos índices e métodos que arrays comuns, e print(scores) os exibe da mesma forma: [90, 85].

challenge icon

Desafio

Fácil

O programa lê uma quantidade da entrada e, em seguida, essa quantidade de pontuações, uma por linha.

  1. Declare scores como um array tipado vazio de inteiros
  2. Leia cada pontuação, converta-a com int() e adicione-a a scores
  3. Imprima scores e, em seguida, Best: seguido da maior pontuação

Para a entrada abaixo, a saída é:

3
70
95
88
[70, 95, 88]
Best: 95

Experimente você mesmo

extends Node

func _ready():
	var count := int(OS.read_string_from_stdin())
	# 1. Declare scores, um array tipado de int vazio
	# 2. Leia count pontuações e adicione cada uma ao array
	# 3. Imprima scores, depois "Best: " e a maior pontuaçã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