RX0004

Domaine: Analyseur syntaxique

Message d'erreur

type de paramètre incompatible : %s attendu, %s reçu

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

L'histoire

Vous avez écrit un appel, et le moteur l'a refusé avant même de l'exécuter, en disant que le type d'un paramètre ne correspond pas. Regardons ce qu'il se passe. Chaque builtin déclare le type de chacun de ses paramètres : un nombre, un texte, une valeur de vérité, et ainsi de suite. Quand le parseur lit votre appel, il compare ce que vous avez donné avec ce qui était attendu. Ici, les deux ne collent pas. Le message vous donne les deux côtés : le type attendu d'abord, le type reçu ensuite. C'est comme glisser une clé de voiture dans la serrure de la porte d'entrée : la clé est bien une clé, mais ce n'est pas la bonne. Un petit exemple : un builtin qui attend un nombre reçoit le mot banane entre guillemets. Le moteur ne devine pas, il ne convertit pas en cachette, il refuse. La correction est simple : donnez une valeur du bon type, soit en changeant ce que vous écrivez, soit en la transformant explicitement avant l'appel. Et rappelez-vous le point fort de cette erreur : elle arrive à l'analyse, donc rien n'a été exécuté, rien n'a été écrit, aucun effet n'a eu lieu. Vous pouvez corriger tranquillement, puis relancer.

Texte issu du catalogue d'erreurs du moteur Rush.