Arrays tipados
Parte de la sección Fundamentos del Journey de GDScript de Coddy. Lección 68 de 92.
Un arreglo normal acepta valores de cualquier tipo. Un arreglo tipado acepta solo un tipo, escrito entre corchetes después de Array:
var scores: Array[int] = [90, 85, 77]
var players: Array[String] = ["Ana", "Ben"]
var bonuses: Array[int] = []GDScript comprueba cada valor. Un valor del tipo incorrecto entre corchetes se notifica antes de que se ejecute el programa:
var scores: Array[int] = [90, "high"] # Error: "high" no es un intAgregar un valor del tipo incorrecto mientras se ejecuta el programa también es un error, y el valor no se agrega:
var scores: Array[int] = [90, 85]
var bonus = "ten"
scores.append(bonus) # Error, scores sigue siendo [90, 85]La inferencia de tipos con := no crea un array tipado: var scores := [90, 85] es un Array normal. Escribe Array[int] para obtener uno.
Como un arreglo tipado conoce el tipo de sus elementos, var best := scores[0] infiere int. Con un arreglo normal, la misma línea es un error, ya que sus elementos pueden ser de cualquier tipo.
Los arreglos tipados tienen los mismos índices y métodos que los arreglos simples, y print(scores) los muestra de la misma manera: [90, 85].
Desafío
FácilEl programa lee una cantidad de la entrada y después esa cantidad de puntuaciones, una por línea.
- Declara
scorescomo un arreglo tipado vacío de enteros - Lee cada puntuación, conviértela con
int()y añádela ascores - Imprime
scoresy despuésBest:seguido de la puntuación más alta
Para la siguiente entrada, la salida es:
3
70
95
88[70, 95, 88]
Best: 95Pruébalo tú mismo
extends Node
func _ready():
var count := int(OS.read_string_from_stdin())
# 1. Declara scores, un array tipado vacío de int
# 2. Lee count puntuaciones y añade cada una
# 3. Imprime scores, luego "Best: " y la puntuación más alta
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosDivisión enteraOperador móduloAtajos aritméticosRepaso: matemáticas básicasOperadores de comparación7Entrada y salida básicas
SalidaSalida con variablesFormato de cadenasEntradaConversión de tipoRepaso: hasta 120Repaso: verdadero o falso10Funciones
Declarar una funciónArgumentosRetornoTipos de retornoRepaso: función SigmaRepaso: función de validaciónValores predeterminados5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaCómo obtener datos3Variables, parte 2
Declaración de tiposInferencia de tiposConstantesRepaso: inicializar variablesConversión de tipos9Bucles
Bucle forBucle whileBreakContinueRepaso - FactorialLa función rangeBucle anidadoRepaso - Entrada dinámica12Conceptos básicos de arrays
Declarar un arrayAcceder a los elementos de un arrayModificar arraysMétodos de arrayRepaso - Array de productosRepaso - Array invertidoArrays tipadosPractica por tu cuenta: Compilador de GDScript online