Menu
CoddyTech

Modifier des dictionnaires

Fait partie de la section Fondamentaux du Journey GDScript de Coddy. Leçon 79 sur 92.

Pour modifier une valeur, affectez-la à sa clé entre crochets. Si la clé est nouvelle, la paire est ajoutée à la fin du dictionnaire :

var player := {"name": "Mia", "hp": 100}
player["hp"] = 80 # met à jour la valeur de "hp"
player["level"] = 2 # ajoute une nouvelle paire
print(player)

La sortie est :

{ "name": "Mia", "hp": 80, "level": 2 }

Vous pouvez également mettre à jour une valeur à partir de son ancienne valeur, comme une variable :

player["level"] += 1 # level vaut maintenant 3

Pour supprimer une paire, appelez erase() avec sa clé. La méthode renvoie true lorsque la clé a été supprimée et false lorsqu’elle n’était pas présente. L’absence d’une clé n’est pas une erreur :

print(player.erase("hp")) # true
print(player.erase("hp")) # false
print(player) # { "name": "Mia", "level": 3 }

erase() ne renvoie pas la valeur supprimée. Si vous en avez besoin, lisez-la avant d’effacer la clé.

challenge icon

Défi

Facile

Le programme lit quatre lignes d’entrée :

  1. Un nom de joueur
  2. Un niveau de départ (un nombre entier)
  3. Un nouveau niveau (un nombre entier)
  4. Une nouvelle paire écrite sous la forme key:value, par exemple guild:Falcons

Le dictionnaire player est déjà créé avec "name" et "level". Ensuite :

  1. Mettre à jour "level" avec le nouveau niveau
  2. Séparer la quatrième entrée à l’emplacement de : et ajouter cette paire au dictionnaire (conserver la valeur sous forme de texte)
  3. Enregistrer la valeur de "name" dans une variable, puis effacer la clé "name"

Afficher le nom enregistré sur la première ligne et le dictionnaire sur la deuxième ligne. Pour les entrées Mia, 4, 5 et guild:Falcons, la sortie est :

Mia
{ "level": 5, "guild": "Falcons" }

Essayez vous-même

extends Node

func _ready():
	var player_name := OS.read_string_from_stdin()
	var level := int(OS.read_string_from_stdin())
	var new_level := int(OS.read_string_from_stdin())
	var pair := OS.read_string_from_stdin()

	var player := {"name": player_name, "level": level}

	# 1. Mets à jour le niveau
	# 2. Ajoute la paire de la quatrième entrée
	# 3. Enregistre le nom, puis efface-le
	# 4. Affiche le nom enregistré et le dictionnaire
	pass
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur GDScript en ligne