DeleteMapElement

Commande de map

Syntaxe

Supprime l’entrée d’une clé, ou l’entrée courante si aucune clé n’est donnée.

DeleteMapElement(<map>() [, <key>])

Les éléments

<map>La table, écrite avec ses parenthèses vides : stock(). Ce doit être une variable NewMap ou un champ table d’un enregistrement.
<key>Facultatif. La clé à supprimer, convertie en texte. Sans elle, c’est l’entrée courante qui est supprimée.

Rend

1 si une entrée a été supprimée, 0 si la clé n’existe pas ou s’il n’y a pas d’entrée courante.

À savoir

  • Si l’entrée supprimée était l’entrée courante, celle créée juste avant devient courante. Supprimer la première entrée laisse la table sans entrée courante.
  • Supprimer l’entrée courante dans un FOREACH ne pose pas de problème : la boucle continue avec l’entrée suivante.
  • Un handle fait avec @m("key") n’est pas coupé par la suppression : IsRef() reste vrai, et GetRef() recrée l’entrée avec la valeur par défaut.

Exemple

NewMap hp.i()hp("orc") = 30hp("elf") = 10hp("imp") = 5FOREACH hp()  IF hp() < 20 THEN DeleteMapElement(hp())NEXTConsole(Str(MapSize(hp())))   ' 1Console(Str(DeleteMapElement(hp(), "orc")))   ' 1Console(Str(DeleteMapElement(hp(), "orc")))   ' 0
Dans le manuel : Tableaux, listes et maps