Array tipizzati
Fa parte della sezione Fondamenti del percorso GDScript di Coddy. Lezione 68 di 92.
Un array semplice accetta valori di qualsiasi tipo. Un array tipizzato accetta un solo tipo, scritto tra parentesi quadre dopo Array:
var scores: Array[int] = [90, 85, 77]
var players: Array[String] = ["Ana", "Ben"]
var bonuses: Array[int] = []GDScript controlla ogni valore. Un valore del tipo sbagliato tra parentesi viene segnalato prima che il programma venga eseguito:
var scores: Array[int] = [90, "high"] # Errore: "high" non è un intAggiungere un valore del tipo sbagliato mentre il programma è in esecuzione è anch’esso un errore e il valore non viene aggiunto:
var scores: Array[int] = [90, 85]
var bonus = "ten"
scores.append(bonus) # Errore, scores rimane [90, 85]L'inferenza del tipo con := non crea un array tipizzato: var scores := [90, 85] è un semplice Array. Scrivi Array[int] per ottenerne uno.
Poiché un array tipizzato conosce il tipo dei suoi elementi, var best := scores[0] deduce int. Con un array normale, la stessa riga è un errore, perché i suoi elementi possono essere di qualsiasi tipo.
Gli array tipizzati hanno gli stessi indici e metodi degli array semplici, e print(scores) li mostra allo stesso modo: [90, 85].
Sfida
FacileIl programma legge un conteggio dall'input, poi altrettanti punteggi, uno per riga.
- Dichiara
scorescome array tipizzato vuoto di interi - Leggi ogni punteggio, convertilo con
int()e aggiungilo ascores - Stampa
scores, poiBest:seguito dal punteggio più alto
Per l'input qui sotto, l'output è:
3
70
95
88[70, 95, 88]
Best: 95Provalo tu
extends Node
func _ready():
var count := int(OS.read_string_from_stdin())
# 1. Dichiara scores, un array tipizzato vuoto di int
# 2. Leggi count punteggi e aggiungili uno alla volta
# 3. Stampa scores, poi "Best: " e il punteggio più alto
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiDivisione interaOperatore moduloScorciatoie aritmeticheRipasso - Matematica sempliceOperatori di confronto7Input/Output di base
OutputOutput con variabiliFormattazione delle stringheInputConversione di tipoRiepilogo - Fino a 120Riepilogo - Vero o falso10Funzioni
Dichiarare una funzioneArgomentiRestituzioneTipi di ritornoRiepilogo - Funzione SigmaRiepilogo - Funzione di convalidaValori predefiniti5Operatori - Parte 2
Operatori logici - Parte 1Operatori logici - Parte 2Riepilogo - Logica sempliceOperatori logici - Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoInserimento dei dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Variabili Parte 2
Dichiarazione del tipoInferenza del tipoCostantiRipasso - Inizializzare le variabiliConversione di tipo6Strutture decisionali
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIf - Else annidatiIstruzione match9Cicli
Ciclo forCiclo whilebreakcontinueRipasso - FattorialeLa funzione rangeCiclo annidatoRipasso - Input dinamico12Nozioni di base sugli array
Dichiarare un arrayAccedere agli elementi di un arrayModificare gli arrayMetodi degli arrayRipasso - Array prodottoRipasso - Array invertitoArray tipizzatiEsercitati da solo: Compilatore GDScript online