RX0070

Domaine: Exécution

Message d'erreur

concatenate joint des textes, ou des listes, tous du même genre, et a reçu %s et %s

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 concatenate, et le moteur vient de refuser en disant qu'il a reçu deux choses qui ne sont pas du même genre. Voici la règle. Concatenate sert à coller deux textes ensemble, ou deux listes ensemble. Le second doit avoir le même type que le premier. Pourquoi cette sévérité ? Parce que si vous collez un texte et un nombre, le moteur devrait deviner une conversion : transformer le nombre en texte, ou l'inverse. Or une des lois de rush interdit d'inventer une conversion que l'auteur n'a jamais écrite. Le moteur préfère donc s'arrêter et vous montrer les deux opérandes tels que vous les avez écrits. Exemple : vous collez le texte « total » et le nombre 5. Le moteur refuse, car il ne sait pas si vous vouliez « total5 » ou autre chose. La correction est de rendre le choix explicite : convertissez d'abord le nombre en texte avec le builtin prévu, puis concaténez deux textes. Même principe pour une liste et un texte, ou pour une map. En résumé : deux textes avec deux textes, deux listes avec deux listes, et toute conversion doit être écrite par vous.

Texte issu du catalogue d'erreurs du moteur Rush.