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 intAdicionar 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].
Desafio
FácilO programa lê uma quantidade da entrada e, em seguida, essa quantidade de pontuações, uma por linha.
- Declare
scorescomo um array tipado vazio de inteiros - Leia cada pontuação, converta-a com
int()e adicione-a ascores - Imprima
scorese, em seguida,Best:seguido da maior pontuação
Para a entrada abaixo, a saída é:
3
70
95
88[70, 95, 88]
Best: 95Experimente 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
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
4Operadores - Parte 1
Operadores aritméticosDivisão inteiraOperador móduloAtalhos aritméticosRevisão - Matemática básicaOperadores de comparação7Entrada e Saída Básicas
SaídaSaída com VariáveisFormatação de StringsEntradaConversão de TipoRevisão - Até 120Revisão - Verdadeiro ou Falso10Funções
Declare uma funçãoArgumentosRetornoTipos de retornoRevisão - Função SigmaRevisão - Função de validaçãoValores padrão13Percorrendo Arrays
Percorrendo elementosPercorrendo com índicesPercorrendo strings — Parte 1Percorrendo strings — Parte 216Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Revisão - Lógica simplesOperadores lógicos Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Variáveis - Parte 2
Declaração de tipoInferência de tipoConstantesRevisão - Inicialização de variáveisConversão de tipo6Tomada de decisões
Instrução ifIf - ElseRevisão - Calculadora simplesIf - Else aninhadoInstrução match9Laços de repetição
Laço forLaço whileInterromperContinuarRevisão - FatorialA função rangeLaço aninhadoRevisão - Entrada dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando elementos de um ArrayModificando ArraysMétodos de ArrayRevisão - Array de produtosRevisão - Array invertidoArrays tipadosPratique por conta própria: Compilador de GDScript online