Message d'erreur
Dans le message, %s marque une valeur que le moteur remplit au moment où il lève l'erreur.
L'histoire
Vous venez de demander au moteur de transformer un texte en nombre, et il a refusé en vous disant que ce texte n'est pas un nombre. Voyons pourquoi. La porte to.number lit un texte comme un nombre exact : des chiffres, au plus un point, un signe si vous voulez, et même un exposant. Ainsi un e trois se lit mille, exactement, sans arrondi. Mais si le texte ne ressemble pas à ça, il n'y a tout simplement pas de nombre à répondre. Le moteur ne devine pas, il ne vous renvoie pas zéro pour vous faire plaisir. Il s'arrête et il vous montre deux choses : le texte tel que vous l'avez écrit, et la raison du refus. Autrefois, il disait seulement qu'il avait refusé avec le code moins un, ce qui ne servait à personne. Un petit exemple : vous écrivez to.number de un point deux point trois. Deux points, c'est un de trop. Corrigez en un point deux, et c'est réglé. Même histoire pour to.bool : il n'accepte que le nombre zéro ou le nombre un. Un texte, même le texte « un », sera refusé, et deux aussi. Donc relisez la valeur affichée dans le message, comparez-la à ce que la porte attend, et corrigez la source. Le moteur vous a donné la valeur et la raison : c'est tout ce qu'il faut pour réparer.
Texte issu du catalogue d'erreurs du moteur Rush.
