Menu
CoddyTech

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 int

Agregar 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].

challenge icon

Desafío

Fácil

El programa lee una cantidad de la entrada y después esa cantidad de puntuaciones, una por línea.

  1. Declara scores como un arreglo tipado vacío de enteros
  2. Lee cada puntuación, conviértela con int() y añádela a scores
  3. Imprime scores y después Best: seguido de la puntuación más alta

Para la siguiente entrada, la salida es:

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

Prué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
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de GDScript online