Verifiche di appartenenza
Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 10 di 78.
Controlli già l'appartenenza con in e not in: "cat" in pets cerca un elemento in un array e "ell" in "hello" cerca del testo all'interno di una stringa. Altri tre casi si presentano continuamente.
Su un dizionario, in controlla solo le chiavi. Per cercare un valore, controlla l'array restituito da values():
var grades := {"Alice": 85, "Bob": 90}
print("Alice" in grades)
print(90 in grades)
print(90 in grades.values())true
false
trueL’appartenenza confronta anche i tipi. Il testo letto con OS.read_string_from_stdin() è una stringa, e la stringa "90" non è l’intero 90:
var scores := [70, 90]
print("90" in scores)
print(int("90") in scores)false
trueUn array costante di valori consentiti con in sostituisce una lunga catena di or e funziona anche in una guardia:
const DIRECTIONS = ["north", "south", "east", "west"]
var dir := "west"
match dir:
var d when d in DIRECTIONS:
print("Going ", d)
_:
print("You cannot go there")Going westSfida
FacileIl programma ha un array names con gli studenti di una classe e un dizionario grades con gli studenti che hanno già un voto. Legge il nome di uno studente in student e un voto in grade (come testo).
Stampa tre righe:
NAME is in the class.oppureNAME is not in the class., verificandonamesNAME has a grade.oppureNAME has no grade., verificando le chiavi digradesSomeone scored GRADE.oppureNobody scored GRADE., verificando i valori digrades
Sostituisci NAME e GRADE con i valori di input. Per gli input Dana e 85, l'output è:
Dana is in the class.
Dana has no grade.
Someone scored 85.Provalo tu
extends Node
func _ready():
var names := ["Alice", "Bob", "Charlie", "Dana"]
var grades := {"Alice": 85, "Bob": 90, "Charlie": 78}
var student := OS.read_string_from_stdin()
var grade := OS.read_string_from_stdin()
# Stampa le tre righe
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Stringhe in dettaglio
Metodi delle stringheRicerca nelle stringheSostituzione e trimDividere e unireRipasso - verifica del nome utente4Dizionari - Parte 2
Dizionari annidatiArray di dizionariUnire dizionariCopiare dizionariRiepilogo - Contatore di frequenza7Enumerazioni
Che cos'è un'enumerazione?Definire un'enumerazioneValori dell'enumerazioneEnumerazioni in MatchRiepilogo - Semaforo10Funzioni avanzate
Restituire più valoriFunzioni lambda - Parte 1Funzioni lambda - Parte 2Ripasso - Ordinamento con lambdaFunzioni ricorsive - Parte 1Funzioni ricorsive - Parte 2Ripasso - Somma di un array annidato13Sistema di gestione dell'inventario
Panoramica del progettoAggiungere un articolo2Decisioni avanzate
Match con variabiliGuardie di matchPattern per arrayPattern per dizionariVerifiche di appartenenzaRiepilogo - Parser di comandi5Applicazione Rubrica
Visualizzare il menuAggiungere un contatto8Gestione dei registri degli studenti
Panoramica del progettoAggiungi studente11Funzioni di ordine superiore
Il metodo mapIl metodo filterIl metodo reduceany e allRipasso - Validatore di emailRipasso - Elaboratore di numeri3Array multidimensionali
Fondamenti degli array 2DAccedere agli elementi di un array 2DCicli annidati con array 2DRipasso - Array 2DArray frastagliatiSchemi comuni con gli array 2DRipasso - Tabellone di gioco6Insiemi con i dizionari
Che cos'è un insieme?Il dizionario come insiemeAggiungere e rimuovereUnione e intersezioneDifferenza tra insiemiRiepilogo - Rimuovere i duplicati9Aggregazione avanzata dei dati
Somma dei valoriTrovare minimo e massimoOrdinamento personalizzatoRiepilogo - Ordinatore di dizionariEsercitati da solo: Compilatore GDScript online