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
FOREACHne 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, etGetRef()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"))) ' 0Dans le manuel : Tableaux, listes et maps