Bonjour à tous,

J'ai écrit un langage de script interprété par ma calculatrice. Il est bien sympa (à mon goût, il me satisfait), mais j'ai un problème de conflit de nom : on ne peut pas utiliser simultanément une variable et une fonction (utilisateur) ayant le même nom. Exemple tout bête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
r(x) = x^2;
f(x) =
{
  r = x+1;
  Retourne (Racine(r));
};
Ce script échoue à l'appel de f(4) car la variable r rentre en conflit avec la fonction utilisateur r(x).

Autre "détail" qu'il faut préciser : on peut appeler une fonction en omettant des parenthèses. Ca pose quelques problèmes pour délimiter les paramètres, mais sinon c'est bien pratique : on tape "racine 2" pour calculer la racine de 2. Problème : Si je veux différencier une variable et une fonction ayant le même nom, je vais devoir obliger l'utilisation des parenthèses.

La question : Faut-il obliger l'utilisation des parenthèses pour appeler une fonction ? (interne ou utilisateur)

Enfin, j'ai pensé à un truc qui pourrait être sympa : pouvoir remplacer une fonction "interne" (intégrée dans la calto) par sa propre fonction utilisateur, le temps de deux/trois calculs. Mais en fait, je pense que ça va causer pas mal de problèmes par la suite toujours à causes des conflits de nom ...

Note : Par "fonction utilisateur", je désigne en fait une fonction qui a été définie par l'utilisateur.

@+ Haypo