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 écrit le nom d'une fonction à un endroit où on attend une valeur, et le moteur a refusé. Voyons pourquoi. Dans rush, une fonction est une action, et une action n'est pas une valeur. Une valeur, c'est une chose sur laquelle on agit. Une action, c'est ce qui agit. Les mélanger serait une grave erreur ontologique. Concrètement, on ne peut pas écrire f égale dbl pour garder une fonction dans une variable, ni passer dbl en argument, ni la ranger dans une map, ni s'en servir comme récepteur. Le nom existe bien, le moteur le sait : il désigne un verbe. Mais un verbe s'appelle, il ne se garde pas dans la main. C'est pourquoi le message n'est pas un simple nom introuvable. Un exemple : au lieu de passer la fonction, appelez-la et passez sa réponse. Ou, si vous voulez choisir entre plusieurs actions, écrivez un flux dont chaque branche appelle sa fonction par son nom. Le message nomme la fonction, puis l'écriture licite. Un verbe n'est jamais un opérande : on l'appelle, c'est tout.
Texte issu du catalogue d'erreurs du moteur Rush.
