RX0099

Domaine: Analyse syntaxique

Message d'erreur

%s (%s)

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

L'histoire

Vous avez enveloppé tui dans un write, et le moteur s'y oppose. Voici ce qui se passe. Le builtin tui dessine une interface dans le terminal : il imprime son propre rendu dès qu'on l'appelle, seul sur sa ligne. Si vous l'enveloppez dans un write, le script essaierait d'afficher deux fois la même chose : une fois par tui, une fois par write. La documentation de tui le dit clairement : l'envelopper dans write est refusé net. Le moteur applique cette règle dès la lecture du fichier, avant d'exécuter quoi que ce soit, et vous montre l'imbrication telle que vous l'avez écrite. La correction est très simple : appelez tui tout seul, sur sa propre ligne, sans rien autour. Même chose pour tout builtin déclaré comme imprimant son propre rendu à l'intérieur d'un builtin qui imprime. Pour garder en tête : si un builtin dessine lui-même, laissez-le faire, et n'ajoutez pas de write.

Texte issu du catalogue d'erreurs du moteur Rush.