RX0721

Domaine: Exécution

Message d'erreur

data.put[%s, …] refusé : %s

Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.

L'histoire

Vous avez utilisé data.put, et le moteur a refusé pour une question de clé. Reprenons. data.put dépose chaque membre sous sa clé. Pour fonctionner, il lui faut deux choses : un porteur à clés, c'est-à-dire une map, et des membres qui portent une étiquette. Deux situations mènent ici. Première situation : votre porteur est une liste. Une liste contient des éléments, pas des clés, et sa porte d'entrée est data.add. Deuxième situation : vous avez donné une valeur sans étiquette. Sans étiquette, il n'y a aucune clé sous laquelle la déposer. Un exemple : vous voulez ranger la valeur trente, mais vous n'avez pas écrit age devant. Le moteur ne devine pas le nom que vous aviez en tête. Le message donne le nom du porteur, puis dit lequel des deux cas s'est produit. Pour corriger, soit vous utilisez une collection à clés avec des membres étiquetés, soit vous passez par data.add si vous travaillez avec une liste. Le moteur ne cherche jamais à deviner une clé : c'est vous qui la nommez.

Texte issu du catalogue d'erreurs du moteur Rush.