Menu
CoddyTech

Aggiungere e rimuovere

Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 33 di 78.

Per aggiungere un membro, assegna true alla sua chiave. Aggiungere un membro che è già nell'insieme non cambia nulla, quindi, quando devi sapere se è nuovo, controlla prima con has():

var inventory := {"rope": true}
if inventory.has("torch"):
	print("Already have torch")
else:
	inventory["torch"] = true
	print("Added torch")

Per rimuovere un membro, chiama erase(). Restituisce true quando il membro è stato rimosso e false quando non era nell'insieme. Un membro mancante non è mai un errore:

print(inventory.erase("rope")) # true
print(inventory.erase("map")) # false
print(inventory) # { "torch": true }

Poiché erase() restituisce un valore booleano, puoi usarlo direttamente come condizione: if inventory.erase("map"): esegue il suo blocco solo quando "map" era un membro.

clear() rimuove tutti gli elementi, size() li conta e is_empty() è true per un insieme senza elementi.

challenge icon

Sfida

Facile

Il programma legge i comandi, uno per riga, fino alla riga done. Ogni comando è add ITEM oppure remove ITEM. Il codice iniziale divide già ogni comando in action e item.

  • Per add: se l’elemento è nuovo, aggiungilo all’insieme inventory e stampa Added ITEM. Altrimenti stampa Already have ITEM.
  • Per remove: se l’elemento è nell’insieme, rimuovilo e stampa Removed ITEM. Altrimenti stampa No ITEM to remove.

Dopo done, stampa Inventory: seguito dagli elementi uniti con , , oppure Inventory: empty quando l’insieme è vuoto. Per l’input:

add torch
add rope
add torch
remove map
remove rope
done

l’output è:

Added torch
Added rope
Already have torch
No map to remove
Removed rope
Inventory: torch

Provalo tu

extends Node

func _ready():
	var inventory := {}
	while true:
		var command := OS.read_string_from_stdin()
		if command == "done":
			break
		var parts := command.split(" ")
		var action := parts[0]
		var item := parts[1]
		# Aggiungi o rimuovi l'oggetto

	# Stampa l'inventario
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore GDScript online