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 avez comparé deux valeurs de genres différents avec un signe d'ordre, et le moteur a refusé. Voyons pourquoi. Les signes plus petit, plus grand, et leurs variantes posent une question : laquelle vient en premier ? Cette question n'a de sens qu'à l'intérieur d'un même genre. Deux nombres se comparent numériquement. Deux textes se comparent octet par octet. Mais un nombre contre un texte ? Qui vient avant, le chiffre un ou la lettre a ? Aucune réponse naturelle. Le moteur ne va pas en inventer une, car ce serait de la coercition, et la règle est claire : un nombre entre guillemets reste un texte. Donc un plus petit que a, et un plus petit que le texte deux, sont refusés. Attention : l'égalité est une autre question, qui a une réponse entre genres. Un et le texte un ne sont jamais égaux : l'égalité répond faux, et la différence répond vrai. Le message nomme le genre de la valeur de gauche, puis celui de la valeur de droite. Pour corriger, convertissez explicitement l'un des deux côtés pour que les deux soient du même genre, par exemple avec to.number.
Texte issu du catalogue d'erreurs du moteur Rush.
